0

我正在尝试编写一个while循环,就像问题表明以降序返回7的倍数一样。起初我只是想写一个代码来返回我之前的值然后减少,但是我的while循环不会执行。我添加了一条打印“开始”的语句,以确保它正在运行。

System.out.println("Start");
int number = 7;
int count = 9999;       
while (number <= count);
{
System.out.print(number);
number = number + 7;
}

我这样写是为了更简单,因为我不确定如何将数字变成一串值并检查每个值。对此的任何帮助表示赞赏。谢谢!

**解决。很抱歉第一次在现场,我不确定是否有其他方法可以关闭它,但由于多个用户指出分号和 Vikas 指出 println 错误,代码运行。至于让它减少,我只是交换了一些东西:

System.out.println("Start");
int number = 9999;
int count = 7;      
while (number >= count)
    {System.out.println(number);
    number = number - 7;
    }


}
4

5 回答 5

9

在 while() 之后有一个额外的分号。去掉它。

此行末尾的分号表示 while 循环的主体为空。花括号中的以下语句在循环完成后执行。但是循环永远不会结束,因为条件永远为真,因为number永远不会改变。

while (number <= count);

将其更改为:

while (number <= count)
{
     ...
}
于 2013-07-16T17:18:42.837 回答
0

在 while 循环的末尾有一个分号:

while (number <= count);

这将使它成为一个空循环。以下花括号将仅充当代码块而不是循环

于 2013-07-16T17:19:43.730 回答
0

您无法看到 number 的输出值,因为它是println而不是print

System.out.print(number);

将此更改为

System.out.println(number);

正如其他人回答的那样,删除分号;在 while 循环结束时。

话虽如此,由于您希望将结果从降序打印到升序使用下面的代码,

System.out.println("Start");
int number = 7;
int count = 9996;       
while (number <= count)
    {
        System.out.println(count);
        count = count - number;
    }
于 2013-07-16T17:23:22.950 回答
0
int count = 9999;
while (count >= 1) {
    if (count % 7 == 0) {
        System.out.println(count);
    }
    count--;
}
于 2016-10-27T04:42:14.633 回答
0

我使用了这段代码,它也有效

System.out.println("Start");
int number = 9999;
int count = 7;      
while (number >= count){
  if(number%7==0)
System.out.println(number);
number--;
}}}
于 2019-09-25T09:46:12.420 回答