我的目標:當布爾型a=true
和b=true
只做'stuffT'。休息時更新變量
class myClass
{
public static void main (String [] args)
{
boolean a=true,b=true;
while (condition)
{
if (conditionA){a=false;break;}
else if(conditionB){b=false;break;}
}
if (a==true && b==true)
{
//do stuffT
}
}
}
但經過相遇break;
的a
和b
仍然true
值。導致我的do 'stuffT'
發生(當它不應該,如果a
或b
具有false
值)
我試着設置a
和b
到null
第一然後更新自己的價值時break
的while
這樣的:
boolean a,b;
while (condition)
{
if (conditionA){a=false;break;}
else if(conditionB){b=false;break;}
}
if (a==true && b==true)
{
//do stuffT
}
但我得到錯誤:變量可能尚未初始化
也曾經試圖break;
第一,然後更新喜歡自己的價值:
if (conditionA){break;a=false;}
else if(conditionB){break;b=false;}
,但得到錯誤:不到的語句(用於break;
之後更新變量)
所以,我怎麼能實現我目標?
您確定'conditionA'或'conditionB'會發生一次嗎?把'System.out.println(「a」);'緊跟在'a = false'之後,與b相同,以確保其中一個發生在 – azro
的地方,你確定while循環甚至進入了嗎?還有conditionA和conditionB –
尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – Paul