这里得到的代码很少:
class While
{
public static void main(String args[])
{
int n=10;
while (n==0)
{
System.out.println("Print "+n);
n--;
}
}
}
不明白为什么它不打印任何东西? ==运算符是否与while循环兼容? 它在代码中没有错误,但它什么都不打印。
答案 0 :(得分:6)
您正在以错误的方式使用while
循环。它应该是
int n = 10;
while (n > 0)
{
System.out.println("Print "+n);
n--;
}
while
与任何逻辑操作完全兼容,但在您的情况下,n
最初不等于0,因此while
将不会执行。
答案 1 :(得分:5)
您当前的状况不允许控件进入while循环。改变条件,使条件成立,直到n的值变为零。
int n=10;
while (n > 0)
{
System.out.println("Print "+n);
n--;
}
答案 2 :(得分:4)
您将n
初始化为10
,这与0
不同,因此您永远不会输入while
块。
我想这是一个错字,你只需要改变while
条件来做你想要的。
答案 3 :(得分:3)
你基本上是说“虽然它是0”但事实并非如此,所以你的循环不会运行。
你应该说“当它大于0”时:
while(n > 0) {
// ...
}
所以基本上它不是兼容性问题,而是逻辑上的失败。
答案 4 :(得分:3)
您已分配int n=10;
因此while (n==0)
始终为false
,直到n达到0。
您应该将条件更改为while (n>0)
答案 5 :(得分:2)
只需更改代码
while(n == 0) {
..........
}
与
while(n > 0) {
..........
}
这只是逻辑错误。
答案 6 :(得分:1)
你可以。
int n = 10;
while(n == 10) {
System.out.println("This will run forever");
}
答案 7 :(得分:0)
语法:
while(Condition)
{
//these statements will be executed untill unless Condition evaluates to True
}
while
块内的语句将被执行,除非Condition
评估为True
:您已将n
初始化为10
且不等于0
因此它将为False,因此它不会进入循环打印任何东西
int n=10;
while (n==0)
{
//never enter here as n !=0
}
答案 8 :(得分:0)
变量i的初始值在代码中为10(int n=10;
)。
永远不会满足while循环n== 0
( 10 == 0永远为假)中的条件。对于while循环体中的代码永远不会执行。这就是没有印刷的原因。
答案 9 :(得分:0)
以下代码将打印n的值一次。注意循环结束时的半圆形 。语句块(语句1和2)完全不在while循环中。
int n=10;
while (n==0); // semicolon at the end of statement
{
System.out.println("Print "+n);//-------1
n--; //-------2
}
输出:
输出将为:打印10