ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day03_3_流程控制练习题

2022-07-18 23:00:23  阅读:139  来源: 互联网

标签:练习题 day03 流程 System number break int println out


# 流程控制练习题

# 一、编程题

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

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

| **课程名称** | **课程代码** |
| ---------------------------- | ------------ |
| 使用Java语言理解程序逻辑 | **1** |
| 使用HTML语言开发商业站点 | **2** |
| 使用SQL Server管理和查询数据 | **3** |
| 使用C#开发数据库应用程序 | **4** |

~~~java
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循环实现**)

~~~Java
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循环实现**)

~~~Java
/**
* 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循环实现**)

~~~java
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循环实现**)

~~~Java
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。

~~~java
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结构

~~~java
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,流程,System,number,break,int,println,out
来源: https://www.cnblogs.com/psjj/p/16492337.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有