楼主,我恨你,我就说我这破电脑怎么今天用eclipse这么卡,
你的程序整一个死循环,我运行后还没有停止,
先去逛了论坛其他贴,卡死了。
- public class WhileDemo {
- /*
- 题目:求1到100里面7的倍数的个数
- 思路:
- 1.设符合条件的个数有count个,初始化count=0;
- 2. 初始化用于遍历的变量y=1,从1遍历到 100,并且符合"y%7"的条件,则count加1;
- 3.输出count的个数。
- */
- public static void main(String[] args) {
- int count = 0;
- int y = 1;
- while (y <= 100) {
- if (y % 7 == 0) {
- count++;
- System.out.println(count);
- System.out.println(y);
- } else {
- y++;
- }
- }
-
- /*for(;y<=100;y++){
- if(y%7==0){
- count++;
- }
- }*/
-
- /*while(y<=100){
- if(y%7==0){
- count++;
- y++;
- }else{
- y++;
- }
- }*/
-
- System.out.println("1到100里面7的倍数的个数=" + count);
- }
- }
复制代码
看上面这个图片,只要输出一下或者debug一下就知道了,
当y加到7,满足了 7%7=0 的条件后,就不会到else那个流程,
直接又返回到判断y是否小于100那一步。
而正确的思路应该是,无论是否满足条件,y都应该加1才对,
因此,else应该去掉。
|