# 流程控制练习题

# 一、编程题

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_3_流程控制练习题的更多相关文章

  1. 二、Python流程控制练习题

    一.分支结构-if等 练习题: 练习1:英制单位与公制单位互换 练习2:掷骰子决定做什么 练习3:百分制成绩转等级制 练习4:输入三条边长如果能构成三角形就计算周长和面积 练习5:个人所得税计算器 练 ...

  2. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环

    一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...

  3. 函数的if--while流程控制

    一.流程控制---if 1.if条件判断 age=18 hight=1.70 sex="female" is_beautiful=True if sex=="female ...

  4. java 基础one ---运算符and流程控制

    首先java这个了解下java的基础 首先java文件都是以.java结尾的  然后 他所有的内容都是有一个入口的就是放在了public static void main(String [] args ...

  5. Python(四)之Python流程控制(if、while、for)

    Python流程控制 if测试: if 条件测试表达式: 组合条件测试: x and y:与运算 x or y:或运算 not x:非运算 while: break:跳出最内层的循环 continue ...

  6. shell(三)if流程控制

    流程控制 if 流程控制 基本语法 单分支结构 if [];then fi 两分支结构 if [];then else fi 多分支结构 if [];then elif[];then elif[];t ...

  7. python基础流程控制

    流程控制主要分为三大类: 1.if 判断语句 2.while 循坏语句 3.for 循坏语句 下面以举例说明: if 判断语句: user1 = 'seven' user2 = 'alex' pass ...

  8. Go语言( 流程控制)

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...

  9. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

随机推荐

  1. Windows下查找各类游戏存档路径

    我算是个比较爱打单机游戏的人,同时也是个半吊子的编程爱好者,有的时候会去干一些修改存档的事儿.不过这篇博文不讲存档修改技术,只讲第一步:去哪找存档? 目标:在windows10系统下搜索到游戏的存档路 ...

  2. Shell 脚本编程最佳实践

    前言 由于工作需要,最近重新开始拾掇shell脚本.虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看.而且当我在看其他人写的脚本的时候,总觉得难以阅读.毕竟shell脚本这个东 ...

  3. Java安全之SnakeYaml反序列化分析

    Java安全之SnakeYaml反序列化分析 目录 Java安全之SnakeYaml反序列化分析 写在前面 SnakeYaml简介 SnakeYaml序列化与反序列化 常用方法 序列化 反序列化 Sn ...

  4. PHP代码审计之SQL注入

    代码审计之SQL注入 SQL注入攻击(SQLInjection),是攻击者在表单中提交精心构造的sql语句,改变原来的sql语句,如果web程序没有对提交的数据经过检查,那么就会造成sql注入攻击. ...

  5. 让 API 测试变的简单。

    做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿. 一方面是 postm ...

  6. Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理

    Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理 前言 上一篇分析了BeanFactoryPostProcessor的作用,那么这一篇继续 ...

  7. arts-week11

    Algorithm 69. Sqrt(x) - LeetCode Review Building a network attached storage device with a Raspberry ...

  8. 用python实现输入三边判断能否组成三角形

    # -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'sanjiaoxing.py'## Creat ...

  9. JavaScript数组操作常用方法

    @ 目录 数组基础遍历方法. for for of for in 数组的基础操作方法. push:尾部追加元素 pop:尾部移出元素 unshift:头部追加元素 shift:头部移出元素 splic ...

  10. Git 不识别文件名字母大小写变化

    问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare context: unable ...