题目1:while循环应用
需求:
打印50张电影票
实现思路:
是否属于反复执行的问题
确定循环变量、循环条件和循环体
画出流程图
使用while语法写出代码
int num=0;
while(num<50){
num++;
System.out.println("第"+num+"张电影票");
}
题目2:while循环应用
老王每天早晨沿着操场慢跑10圈
在第5圈的时候,会停下来休息5分钟再接着跑
for(int i = 1;i<=10;i++){
System.out.println("跑第"+i+"圈");
if(i==5){
System.out.println("休息5分钟");
}
}
题目3:while循环应用
需求:
马上要月考,老师为了帮助王蒙同学提高成绩,每天给他安排复习任务,上午复习概念知识,理解概念,下午训练案例,熟练掌握代码。老师每天检查学习成果是否合格,如果不合格,则继续进行
实现思路:
是否属于反复执行的问题
确定循环条件和循环体
画出流程图
套用while语法写出代码
String heGe="";
do{
System.out.println("上午复习概念知识");
System.out.println("下午训练案例,熟练掌握代码");
System.out.print("请输入是否合格?(合格/不合格)");
Scanner sc=new Scanner(System.in);
heGe=sc.next();
}while("不合格".equals(heGe));
System.out.println("可以休息啦~");
题目4:while循环应用
训练要点:
while循环结构
程序调试需求说明:
编程实现:计算100以内(包括100)的偶数之和
设置断点并调试程序,观察每一次循环中变量值的变化
int j = 0;
int sum=0;//求和
while(j<=100){
//System.out.println(j);//有0
sum+=j;
j+=2;
//System.out.println(i);
}
System.out.println(sum);
题目5:for循环应用
需求说明:
循环输入某同学专业阶段考试的5门课成绩,并计算平均分
思路分析:
选择循环语句
for循环步骤
分析循环变量、循环条件和循环体
代码实现
确定循环退出条件
System.out.print("请输入学生姓名:");
Scanner sc=new Scanner(System.in);
String name=sc.next();
double sum=0;//总成绩
double pingJun=sum/5;
for(int i = 1;i<=5;i++){
System.out.print("请输入5门功课中第"+i+"门课的成绩:");
sum+=sc.nextInt();
}
System.out.println(name+"的平均分是:"+pingJun);
题目6:for循环应用
训练要点:
for循环结构
需求说明:
商场对顾客的年龄层次进行调查
计算各年龄层次的顾客比例
System.out.print("请输入需要统计顾客的数量:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int xia=0;//30岁以下数量
int shang=0;//30岁以上数量
for(int i = 1;i<=num;i++){
System.out.print("请输入第"+i+"位顾客的年龄:");
int nian=sc.nextInt();//顾客年龄
if(nian>30){
shang++;
}else{
xia++;
}
}
double xiaBiLi=xia*100/num;
double shangBiLi=shang*100/num;
System.out.println("30岁以下的比例是:"+xiaBiLi+"%");
System.out.println("30岁以上的比例是:"+shangBiLi+"%");
题目7:for循环嵌套应用
需求:
如何用*打印矩形图案?
实现思路:
用循环嵌套实现
外层循环控制行数
内层循环控制每行的*号数
System.out.println("打印矩形");
for(int i = 0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print("*");
}
System.out.println("");
}
(进阶)题目8:for循环嵌套应用
训练要点:
循环嵌套及循环条件的设定
使用Scanner对象接收用户输入
需求说明
从控制台输入直角三角形的高度
(行数)
每行 * 的数目依次为1、3、5、7…
System.out.print("请输入直角三角形的高度(行数):");
Scanner sc=new Scanner(System.in);
int num = sc.nextInt();//行数
for(int i = 0;i<num;i++){
for(int j=0;j<i*2+1;j++){
System.out.print("*");
}
System.out.println("");
}
(进阶)题目9:for循环嵌套应用
需求说明:
从控制台输入直角三角形的高度(行数)
每行*的数目从下至上依次为5、4、3、2…
System.out.print("请输入直角三角形的高度(行数):");
Scanner sc=new Scanner(System.in);
int num = sc.nextInt();//行数
for(int i = num;i>0;i--){
for(int j=0;j<i;j++){
System.out.print("*");
}
System.out.println("");
}
题目10:循环的应用
请编写程序,求出1-100之间奇数和,实现计算“1+3+5+7+…+99”的值。
提示:
a. 用循环语句实现自然数1一99的遍历
b. 在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加
int sum=0;
for (int i = 1; i <= 100; i++) {
if(i%2==1){
sum+=i;
}
}
System.out.println("1-100之间奇数和为:"+sum);
题目11:循环的应用
求出1-100之间偶数和。
int sum=0;
for(int i = 1;i<=100;i++){
if(i%2==0){
sum+=i;
}
}
System.out.println("1-100偶数和为:"+sum);
题目12:循环的应用
手动输入两个数字m和n,运算求出m~n之间所有偶数的和。
Scanner sc= new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a=sc.nextInt();
System.out.println("请输入第二个数字:");
int b=sc.nextInt();
int sum=0;
for(int i = a;i<=b;i++){
if(i%2==0){
sum+=i;
}
}
System.out.println("1-100偶数和为:"+sum);
(进阶)题目13:运算符和循环的应用
请统计1-1000之间同时满足如下条件的数据有多少个
• 对3整除余2
• 对5整除余3
• 对7整除余2
int count=0;//数量
for(int i=1;i<=1000;i++){
if(i%3==2&&i%5==3&&i%7==2){
count++;
}
}
System.out.println("1-1000之间同时满足:对3整除余2、对5整除余3、对7整除余2的数有:"+count+"个");
(进阶)题目14:选择结构和循环的应用
实现登陆功能:如果用户名输入“tom”,密码“123”,提示登陆成功,否则提示输入错误,请重新输入!您还有XX次机会”(其中xx要明确打印出数值)。 三次输入错误后将不可以再输入,并提示“对不起,你的账号将被锁定”。
Scanner sc=new Scanner(System.in);
for(int i=1;i<=3;i++){
System.out.print("请输入用户名:");
String name=sc.next();
System.out.print("请输入密码:");
String num=sc.next();
if("tom".equals(name)&&"123".equals(num)){
System.out.println("登陆成功");
}else{
System.out.println("输入错误,请重新输入!您还有"+(3-i)+"次机会");
}
}
(进阶)题目15:for循环嵌套应用
需求:在控制台输出九九乘法表。
System.out.println("打印乘法表:");
for(int i = 1;i<=9;i++){
for(int j=i;j<=9;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println("");
}
(进阶)题目16:选择结构和循环的应用
17. 小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。(提示:用break)
double sum=0;
int i = 1;
for(i = 1;;i++){
sum+=2.5;
if(i%5==0){
sum-=6;
}else if(sum>=100){
break;
}
}
System.out.println("存够100元的天数为:"+i);