我在for循環中得到一個死代碼警告,在i++
。爲什麼我這樣做,我該如何解決這個問題?Java - for循環中的死代碼
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0);
return false;
}
return true;
}
我在for循環中得到一個死代碼警告,在i++
。爲什麼我這樣做,我該如何解決這個問題?Java - for循環中的死代碼
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0);
return false;
}
return true;
}
問題是在這一行:
if(p % i == 0);
刪除分號,然後再試一次
你總是退出循環立即,因此i
永遠不會被遞增。
if(p % i == 0);
return false;
應該
if(p % i == 0)
return false;
在第一個版本,你有以下的if語句(由於第一分號)一個空的條款。因此總是執行return false
。您退出該方法,並且i++
從不執行。
刪除if
語句後的分號。
如果您的代碼擴展那麼這將成爲
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0)
{
}
return false; //If you give return statement here then how it will work.
}
return true;
}
什麼是對這裏的價值? –
你騙了我!這個分號很難看... –
@jmendeth它永遠是! :) – Sikorski