2013-11-15 60 views
-5

得到了很少的代碼在這裏:運算符==與while循環兼容嗎?

class While 
{ 
public static void main(String args[]) 
    { 
    int n=10; 
    while (n==0) 
    { 
     System.out.println("Print "+n); 
     n--; 
    } 
    } 
} 

不明白爲什麼它不會顯示任何信息? ==運算符是否與while循環兼容? 它在代碼中沒有錯誤,但它什麼也沒有打印。

+4

while循環沒有做任何事情,因爲n不是0,但是10.嘗試用'N = 0' - >作爲!只要n不是0,循環 – Delpes

+1

是的,現在明白了,它的工作原理非常感謝:) –

+0

你在說,「while'n'是'0',這樣做」。 'n'最初是10,所以循環從不執行。 – eversor

回答

6

您正在使用while循環錯誤的方式。它應該是

int n = 10; 
while (n > 0) 
{ 
    System.out.println("Print "+n); 
    n--; 
} 

while與任何邏輯運算完美兼容,但在你的情況n起初不等於0,這樣while將不會執行。

3

你基本上是說「雖然它是0」,情況並非如此,所以你的循環不運行。

你應該說「而它比0大」:

while(n > 0) { 
    // ... 
} 

所以基本上不存在兼容性問題,但邏輯故障。

+0

啊,現在明白了,謝謝! –

4

您將n初始化爲10,與0不同,因此您絕不會輸入while塊。

我想這是一個錯字,你只需要改變while條件來做你想做的。

5

您當前的狀況不允許控制進入while循環。改變條件,使條件成立,直到n的值變爲零。

int n=10; 
while (n > 0) 
{ 
    System.out.println("Print "+n); 
    n--; 
} 
1

您可以。

int n = 10; 
while(n == 10) { 
    System.out.println("This will run forever"); 
} 
3

已分配INT n=10; 所以while (n==0)永遠是false直到n達到0.1

你應該改變的條件while (n>0)

0

語法:

while(Condition) 
{ 
//these statements will be executed untill unless Condition evaluates to True 
} 

語句中while塊將被執行直到L,否則Condition評估爲True

在你的代碼:你初始化n10並且它不等於0因此它會是假的,所以它不會進入while循環打印任何東西,

int n=10; 
while (n==0) 
{ 
//never enter here as n !=0 
} 
0

代碼中變量i的初始化值爲10(int n=10;)。

while循環中的條件n== 010 == 0總是假的)永遠不會滿足。對於while循環體中的代碼永遠不會執行。這就是爲什麼沒有印刷。

2

在你的代碼

while(n == 0) { 
.......... 
} 

只需更改與

while(n > 0) { 
.......... 
} 

這只是邏輯上的錯誤。

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 
} 

OUTPUT:

輸出將是:打印10