流程控制练习题

视频教程:https://www.bilibili.com/video/BV1La411M7kt?spm_id_from=333.999.0.0&vd_source=c674caf7b33c72dc23df379819432644

一、编程题

1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。用户可以循环进行输入,如果输入0就退出系统。(使用switch +while循环实现)

课程名称和课程代号对照表

课程名称 课程代码
使用Java语言理解程序逻辑 1
使用HTML语言开发商业站点 2
使用SQL Server管理和查询数据 3
使用C#开发数据库应用程序 4
public class Demo1 {public static void main(String[] args) {//1.创建扫描仪对象Scanner input = new Scanner(System.in);//2.循环让客户输入课程编号tag:while(true){//3.接收客户输入的课程代号System.out.println("请输入课程代号:");int number = input.nextInt();switch (number){case 1 :System.out.println("使用Java语言理解程序逻辑");break;case 2 :System.out.println("使用HTML语言开发商业站点");break;case 3 :System.out.println("使用SQL Server管理和查询数据");break;case 4 :System.out.println("使用C#开发数据库应用程序");break;case 0 :break tag;}}}
}

2、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(使用for循环实现

public class Demo2 {public static void main(String[] args) {double benJin = 10000;for(int i=1;i<=5;i++){benJin=benJin+benJin*0.003;}System.out.println(benJin);}
}

3、求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现

/*** 3、求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现)*/
public class Demo3 {public static void main(String[] args) {int sum = 0;for (int i = 1; i <=100 ; i++) {if(i%10==3){continue;}sum+=i;}System.out.println(sum);}
}

4、输入一个正整数N,判断该数是不是质数,如果是质数输出“N是一个质数”,否则输出“N不是质数”。提示:质数的含义:除了1和它本身不能被任何数整除。(使用for循环实现

public class Demo4 {public static void main(String[] args) {//1.创建扫描仪对象Scanner scanner = new Scanner(System.in);while (true) {//2.请输入一个正整数System.out.println("请输入一个正整数");int number = scanner.nextInt();if(number==1){System.out.println(number+"不是质数");} else if(number==2){System.out.println(number+"是质数");} else {//默认number是质数boolean tag = true;//将number 除以2到number之间的数,不包含number如果有一次整除,那么number不是质数for(int i=2;i<number;i++){if(number%i==0){tag=false;}}if(tag){System.out.println(number+"是质数");} else {System.out.println(number+"不是质数");}}}}
}

5、输入一个正整数,将该数的各位左右反转输出,即输入123,输出321。(使用while循环实现

public class Demo5 {public static void main(String[] args) {//创建扫描仪对象Scanner scanner = new Scanner(System.in);System.out.println("请输入一个正整数");int number = scanner.nextInt();// 反转数字while(number>0){int a = number%10;System.out.print(a);number = number/10;}}
}

6、打印出100~999之间的所有“水仙花数”。所谓“水仙花数”,是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。

public class Demo6 {public static void main(String[] args) {for (int i = 100; i <=999 ; i++) {int bai = i/100;int shi = i/10%10;int ge = i%10;if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge){System.out.println(i+"是一个水仙花数");}}}
}

7、幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数,游戏结束后公布结果。

积分对照表

次数 结果
1 你太有才了!
2~6 这么快就猜出来了,很聪明么!
大于7 猜了半天才猜出来,小同志,尚需努力啊!

猜测次数最多20次。

提示:

(1) 产生0~99之间的随机数字:

int number = (int)(Math.random()*100)

(2) 使用for循环结构,其中循环计数器counter同时也记录你猜测的次数

(3) 计算积分可以使用switch结构

public class Demo7 {public static void main(String[] args) {//创建扫描仪对象Scanner input = new Scanner(System.in);//获得本次要猜的随机数int number = (int)(Math.random()*100);System.out.println("number:"+number);//猜数的计数器int count = 0;//记录是否猜数成功boolean tag = true;while(true){//接收客户猜的数System.out.println("猜猜看吧");int n = input.nextInt();//记录猜数次数count++;//判断猜数结果if(n>number){System.out.println("猜大了");//设置条件最多猜20次if(count==20){tag = false;break;}}else if(n<number){System.out.println("猜小了");//设置条件最多猜20次if(count==20){tag = false;break;}} else {System.out.println("猜对了");//设置条件最多猜20次if(count==20){break;}break;}}if(tag){switch (count){case 1 :System.out.println("你太有才了!");break;case 2 :case 3 :case 4 :case 5 :case 6 :System.out.println("这么快就猜出来了,很聪明么!");break;default :System.out.println("猜了半天才猜出来,小同志,尚需努力啊!");break;}}}
}

二、简答题

1、请简述continue和break的区别;

2、switch结构可以传入哪些参数类型;

3、if和switch结构的区别;

4、while和dowhile的区别;

day03_2_作业相关推荐

  1. LeetCode简单题之在既定时间做作业的学生人数

    题目 给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间. 已知,第 i 名学生在 startTime[i] 时开始写作业 ...

  2. 作业函数的定义与调用

    作业函数的定义与调用 在 OneFlow 中,将训练.预测任务封装在一个函数中,统称为作业函数(job function),作业函数联系用户的业务逻辑与 OneFlow 管理的计算资源. 在 OneF ...

  3. 华东理工大学计算机应用基础,最新华东理工大学计算机应用基础网上作业及全部答案...

    精品文档 华东理工大学计算机应用基础网上作业及全部答案 2012计算机应用基础答案: 一.选择题 1.文件夹是用来对应用程序.文件进行分组的,以下说法中()正确.答:一个文件夹内可以包含文件.应用程序 ...

  4. 《小团团团队》第五次作业:项目需求分析改进与系统设计

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 小团团团队 作业学习目标 (1)掌握面向对象需求分析方法:(2) ...

  5. 2017级面向对象程序设计 作业三

    Deadline:2018-05-13 22:00pm 题目升级 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留 ...

  6. 201621123068 作业08-集合

    1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的<contains>源代码 答:源代码 public boolean contains ...

  7. 代码管理和版本管理的作业流程以及规范是怎样的?

    代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...

  8. 结队项目——第一次作业

    By: 031502220 计算机二班 李自强031502344 计算机三班 郑世强 Table of Contents 一 需求分析:二 具体设计:三 系统功能说明:四 产品优劣势分析:五 PSP: ...

  9. 第三次作业+105032014085

    对修正后第2次作业+105032014141的单元测试 1.修正后的流程图 2.测试用例设计 3.单元测试框架 1 import static org.junit.Assert.*; 2 3 impo ...

最新文章

  1. Windows Azure Marketplace入门教学-利用TabLeau Public构建可视化DataMarket应用
  2. 【Java源码分析】Android-LruCache源码分析
  3. [云炬创业基础笔记]第七张创业团队测试9
  4. mysql 视图更欣赏失败总结
  5. 【自适应盲均衡2】多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真
  6. 2013年c语言课后作业答案,2013年计算机二级C语言课后模拟题三及答案
  7. Hbase完全分布式高可用集群安装配置
  8. 从零开始学习python编程-从0开始的Python学习014面向对象编程(推荐)
  9. java ipv6抓包_基于ipv6数据抓包分析
  10. c语言 最大子段和,C语言程序设计100例之(13):最大子段和
  11. java设置png dpi_设置PNG图片DPI 信息,保存为PDF(使用Magick),与OpenCV转换
  12. OOP思想--封装和继承
  13. 谷歌浏览器,添加手机模拟器
  14. 【MySQL学习笔记(十六)】之redo日志超详细讲解
  15. [转载]基于Servlet的Google Earth之旅
  16. 慕课网前端JavaScript面试(4)
  17. 问答ChatGPT-4:探索未来微数据中心IDC的发展趋势
  18. 【JAVA】对接苹果授权登录流程
  19. C++ 两点之间最短距离
  20. 企业信用资质等级证书的办理流程

热门文章

  1. Calendar类的常用方法分享
  2. 将txt转换为pdf
  3. 红旗Linux桌面4.1文本安顿过程图解(一)
  4. 软件长寿法则 记住这7条
  5. Android手机SD卡创建文件并写入内容
  6. 2022-2028全球与中国修容棒市场现状及未来发展趋势
  7. Charles的https抓包及使用
  8. mycat mysql 性能测试_mycat读写分离性能测试
  9. Spring自动装配的方式
  10. 如何利用sumifs函数实现隔行求和