1.循环高级综合练习
1.1 无限循环
实际开发中很少用到。
1.2 跳转控制语句
2.综合练习
2.1逢七过
for (int i=1;i<=100;i++){ if ((i%7==0)||((i-7)%10==0)||(i/10==7)){ System.out.println("过"); continue; } System.out.println(i); }
2.2求平方根
我的思路:
Scanner sc=new Scanner(System.in); System.out.println("请输入一个大于等于2的整数x"); int x= sc.nextInt(); for (int i=1;i<=x;i++){ int y=x/i; if(y==i){ System.out.println("x的平方根是"+y); break; }else if (i>y){ System.out.println("x的平方根整数是"+(i-1)); break; }
老师的思路:
Scanner sc=new Scanner(System.in); System.out.println("请输入一个大于等于2的整数x"); int x= sc.nextInt(); for (int i=1;i<x;i++){ int y=i*i; int z=(i+1)*(i+1); if (x>=y&&x<z){ System.out.println("x的平方根整数是"+i); break; } }
2.3求质数
我的思路:
Scanner sc=new Scanner(System.in); System.out.println("请输入一个正整数x"); int x= sc.nextInt(); for (int i=2;i<=x;i++){ if (x%i==0 && i!=x){ System.out.println("x不是一个质数"); break; }else if (x%i==0 && i==x){ System.out.println("x是一个质数"); break; } }
老师的思路:
其实自己做的时候,思路卡在了如果循环范围内已经遍历了但还是没有找出那个能成为合数的因数,就说明是质数,但也不可能把这个是质数的结果直接放在循环语句中的最后面,否则每次循环都会执行这个结果。所以这里非常需要学习的就是标记的设置,一开始就设置一个是质数的标记,当找出那个因数以后就改变标记退出循环成为合数字,如果没找到,那就保持标记还是质数。
PS:先想达到一个结果需要满足什么条件,把所有可能都经历了但还是不满足条件的情况下。使用标记,可以帮助更好的解决这类问题。
2.4猜数字小游戏
获取随机数
![]()
while(true) 可以保证循环一直进行。