day03_3_流程控制练习题
# 流程控制练习题
# 一、编程题
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_流程控制练习题的更多相关文章
- 二、Python流程控制练习题
一.分支结构-if等 练习题: 练习1:英制单位与公制单位互换 练习2:掷骰子决定做什么 练习3:百分制成绩转等级制 练习4:输入三条边长如果能构成三角形就计算周长和面积 练习5:个人所得税计算器 练 ...
- Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环
一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...
- 函数的if--while流程控制
一.流程控制---if 1.if条件判断 age=18 hight=1.70 sex="female" is_beautiful=True if sex=="female ...
- java 基础one ---运算符and流程控制
首先java这个了解下java的基础 首先java文件都是以.java结尾的 然后 他所有的内容都是有一个入口的就是放在了public static void main(String [] args ...
- Python(四)之Python流程控制(if、while、for)
Python流程控制 if测试: if 条件测试表达式: 组合条件测试: x and y:与运算 x or y:或运算 not x:非运算 while: break:跳出最内层的循环 continue ...
- shell(三)if流程控制
流程控制 if 流程控制 基本语法 单分支结构 if [];then fi 两分支结构 if [];then else fi 多分支结构 if [];then elif[];then elif[];t ...
- python基础流程控制
流程控制主要分为三大类: 1.if 判断语句 2.while 循坏语句 3.for 循坏语句 下面以举例说明: if 判断语句: user1 = 'seven' user2 = 'alex' pass ...
- Go语言( 流程控制)
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...
- python基础之流程控制
流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...
随机推荐
- Spring Boot 启动源码解析结合Spring Bean生命周期分析
转载请注明出处: 1.SpringBoot 源码执行流程图 2. 创建SpringApplication 应用,在构造函数中推断启动应用类型,并进行spring boot自动装配 public sta ...
- 『现学现忘』Git基础 — 22、Git中文件重命名
目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追 ...
- muduo项目介绍
在上一个集群聊天服务器项目中,我使用了muduo作为网络库,然后主要实现了业务逻辑等,所以为了深入网络库的代码和实现,我跟着一位老师的代码去实现了muduo库的基本原理和作用,当然只是实现了主体的代码 ...
- 【高并发】通过源码深度解析ThreadPoolExecutor类是如何保证线程池正确运行的
大家好,我是冰河~~ 对于线程池的核心类ThreadPoolExecutor来说,有哪些重要的属性和内部类为线程池的正确运行提供重要的保障呢? ThreadPoolExecutor类中的重要属性 在T ...
- 1.Docker简介
Docker是个什么东西 假定您在开发一个项目,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置.其他开发人员身处的环境配置也各有不同.您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件 ...
- GB/T 25000.51-2016 系统与软件工程、系统与软件质量要求和评价 第51部分
中科软测认证中心(软件测评) 1.支持GB/T 25000.51的质量特性 (1)产品质量模型及特性 功能性 功能完备性 功能正确性 功能适合性 功能性的依从性 性能效率 时间特性 资源利用率 容量 ...
- 【leetcode】239. 滑动窗口最大值
目录 题目 题解 三种解法 "单调队列"解法 新增.获取最大值 删除 代码 题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以 ...
- 安装PostgreSQL到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:postgresql-12 硬件要求:无 安装过程 1.安装YUM-PostgreSQL存储库 ...
- 第06组Alpha冲刺(3/6)
目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2.鲍凌函 3.曾丽莉 4. 曹兰英 5. 方梓涵 6.董翔云 7.杜筱 8.黄少丹 9. 詹鑫冰 10.吴沅静 1.3 冲刺成果展示 1.1 ...
- 关于『HTML5』第一弹
关于『HTML5』:第一弹 建议缩放90%食用 祝各位国庆节快乐!!1 经过了「过时的 HTML」.「正当时的 Markdown」的双重洗礼后,我下定决心,好好学习HTML5 这回不过时了吧(其实和 ...