6 回答

TA貢獻1811條經驗 獲得超6個贊
public static void main(String args[])
{
for(int i = 0; i < 10; i++)
{
if (i%2 == 0) {
continue;
}
System.out.println(i);
}
}
輸出是:
1
3
5
7
9

TA貢獻1829條經驗 獲得超7個贊
由于循環條件失敗,此代碼將不起作用
?for(int i =0;i<0;i++)
或者您可能忘記將條件更新為
?for(int i=0; i<10; i++)
嘗試這個
package live;
?public class ACTIVE {
? public static void main(String args[])
? {
? ? for(int i=0; i<10; i++)
? ? {
? ? ? ? if(i%2==0)
? ? ? ? ? ? continue;
? ? ? ? System.out.println(i);
? ? }
? }
}

TA貢獻1887條經驗 獲得超5個贊
它可能有助于準確指定 for 循環的各個部分:
for(初始化;終止;遞增)
初始化表達式設置 for 循環的初始條件。
當終止表達式的計算結果為時,循環將停止
false
。增量表達式將在循環的每次迭代中執行一次。
因此,考慮到這一點,讓我們看看您的循環實際上在做什么:
for(int i = 1; i < 0; i++)
因此,您的循環通過創建一個名為 的變量并將其設置為 來初始化。接下來,您的循環說在is時終止。但是你只是設置為等于,不小于零!因此,在您開始遍歷 loop 之前,您的終止條件已經為假,這意味著該循環根本不會運行。i
1
i < 0
false
i
1
根據您的預期輸出,您打算編寫的內容似乎是:
for(int i = 1; i < 10; i++)
i
請注意,這將在大于或等于時終止10
。
另外,出于以下幾個原因,我建議不要使用此代碼:
if(i%2==0) continue; System.out.println(i);
使用 if 語句而不使用大括號來描述要在 if 中執行的代碼通常是不好的做法。此外,您的邏輯有點“顛倒”,因為缺乏更好的措辭方式。編寫(可以說)更直觀:
if(i % 2 != 0) { System.out.println(i); }
這消除了對 的需要continue
,并略微提高了可讀性。

TA貢獻1818條經驗 獲得超7個贊
讓我盡可能保持簡單,而不深入術語。讓我們舉個例子好嗎?假設我給你 10 美元,我讓你去花,但你只能花 0 美元?你能花錢嗎?答案是不對。為什么會這樣?只是因為條件不匹配,你將無法正確執行任務(這里是花錢)。同樣,在你的循環中,你已經編碼了:
for(int i=0;i<0;i++)
現在告訴我看看你的這部分代碼:
i=0且i<0
你看到你做錯了什么了嗎?你已經告訴程序好的,我將 i 的值設置為 0,你將不得不運行循環直到 i 保持小于 0 的部分。但是 i 永遠不會小于 0,因為 0 不小于 0。所以你的條件根本不滿足,根本不執行。所以你需要做的是將條件設置為i<10并且你的循環將起作用。但是,請注意您的循環可以變得更高效。希望它有所幫助:D

TA貢獻1817條經驗 獲得超6個贊
我沒有得到我的 java 程序的輸出?
那是因為您的 for 循環無法在給定條件下運行。
for(int i=0;i<0;i++)
//1) Initialize i as 0
//2) if i<0 is true, run statments within for-loop
在 (2) 處,條件為假,因為 0 不小于 0,因此您的循環將不會運行。嘗試任何大于 0 的循環運行(例如i<1)
此外,您可以通過以下方式避免繼續聲明:
for(int i=0;i<10;i++)
if(i%2 != 0)
System.out.println(i);

TA貢獻1966條經驗 獲得超4個贊
您將 i 設置為 0 并且您的 for 循環僅在 i<0 時運行,因此將其更改為 10 并且它應該可以工作。
public static void main(String args[])
{
for(int i=0;i<10;i++)
{
if(i%2==0)
continue;
System.out.println(i);
}
}
添加回答
舉報