写一个while循环,从1到9999找到7的倍数

时间:2013-07-16 17:17:54

标签: java

我正在尝试编写一个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;
    }


}

5 个答案:

答案 0 :(得分:9)

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

在此行末尾使用分号,while循环有一个空体。 循环完成后,执行花括号中的以下语句。但是循环永远不会完成,因为条件总是正确的,因为number永远不会改变。

while (number <= count);

将其更改为:

while (number <= count)
{
     ...
}

答案 1 :(得分:0)

你的while循环结束时有一个分号:

while (number <= count);

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

答案 2 :(得分:0)

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

System.out.print(number);

将此更改为

System.out.println(number);

并且正如其他人已经回答的那样,取出半结肠;在while循环结束时。

话虽如此,因为您希望将结果从Descending打印到Ascending,使用下面的代码,

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

答案 3 :(得分:0)

int count = 9999;
while (count >= 1) {
    if (count % 7 == 0) {
        System.out.println(count);
    }
    count--;
}

答案 4 :(得分:0)

我使用了这段代码,它也起作用了

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