我有一個「禁止」玩家的類,但是如果他的名字在一個字符串數組中,我不希望這個玩家被禁止。我可以遍歷數組的長度並使用布爾值,但是必須有更簡單的方法嗎?我看到的東西只是說如果符合條件,把return;
,它會停止所有代碼運行下面,如果語句。如何停止運行某些代碼?
編輯:感謝您的幫助!即使你是一個低估了這一點的人,你至少有4人,但你們都很有幫助。
我有一個「禁止」玩家的類,但是如果他的名字在一個字符串數組中,我不希望這個玩家被禁止。我可以遍歷數組的長度並使用布爾值,但是必須有更簡單的方法嗎?我看到的東西只是說如果符合條件,把return;
,它會停止所有代碼運行下面,如果語句。如何停止運行某些代碼?
編輯:感謝您的幫助!即使你是一個低估了這一點的人,你至少有4人,但你們都很有幫助。
您可以創建一個方法來檢查玩家是否在字符串數組中,並且如果您在void方法中使用return
方法將會結束。
例如
public void returnUsage(int n)
{
if(n==1)
{
return;
}
System.out.println("n doesn't equal 1.");
}
但它很可能是最好使用if
和else
跳過你不想,如果條件不滿足運行代碼。 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html
請用你的if語句使用大括號;即'if(n == 1){return; }' – 2015-02-24 05:07:15
數組是該任務的錯誤數據結構。將玩家添加到Set<> allowedPlayers = new HashSet<String>()
,然後使用if(allowedPlayers.contains(name)) return;
根據玩家的姓名是否在設置中來有條件地退出該方法。當名稱數量變大時,該集合將保持快速。使用陣列掃描時,陣列很大時陣列會很慢。
是的,你是對的,if..else語句是條件塊,它執行的典型條件 – Vihar 2015-02-24 04:53:42
叫我老學校,我被教導有一個入口和所有函數/方法的出口點,但把'return'除此之外,任何其他方法的結束都是一個壞主意,因爲這很容易讓人們錯過它,並且誤解了邏輯想要達到的目標。 – MadProgrammer 2015-02-24 04:57:31
給我打電話給年紀較大的學校,但是編譯器將具有多個返回語句的方法轉換爲單一退出程序,* ergo *它們在語義上相同,* ergo *不需要通過額外的循環跳轉以避免多重返回語句。我從來沒有見過這個神祕的程序員,他們無法理解他們,也沒有遇到過三級運算符優先級的人。一直以來,有些程序員一定對他們的同事感到amazing contem不安。 – EJP 2015-02-24 07:52:37