[英]JAVA: Substitute for a break statement?
由於某些荒謬的原因,我的教授禁止我們在程序中使用break語句來終止循環。 我正在制作一個“連接四人”程序,並使用for循環來模擬玩家丟下檢查器的過程。 如果我的循環如下所示:
for(int i = LOWEST_ROW_INDEX; i >= 0; i--)
{
if(gb[i][rChoice].equals(". "))
{
gb[i][rChoice] = "r ";
break; //CANNOT USE BREAK
}
}
我可以代替break語句來終止此for循環怎么辦?
您可能會作弊:
i = -1;
這不是那么可笑。 一些純粹主義者認為break
是邪惡的-與“多重return
語句”相似,但不及“與標簽break
”或goto
。 具有嵌套循環和一些break
語句的程序可能會造成混亂。
這里的另一個可能的解決方案是這樣的:
private int findInsertionIndex()
{
for(int i = LOWEST_ROW_INDEX; i >= 0; i--)
{
if(gb[i][rChoice].equals(". "))
{
return i;
}
}
return -1;
}
// Use
int insertionIndex = findInsertionIndex();
if (insertionIndex != -1)
{
gb[insertionIndex][rChoice] = "r ";
}
(是的,我知道我用一個具有“多重收益”的方法換了一個break
。有時候,這全都與玩游戲有關。我認為代碼段已經顯示了一些人們認為比break
更糟糕的做法。例如,奇怪變量名稱,全局變量和2D字符串數組...)
轉換為while
int i = LOWEST_ROW_INDEX;
while(!gb[i][rChoice].equals(". ") && i >=0 ){
i--;
}
if (i >= 0){
gb[i][rChoice] = "r ";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.