我有一個if語句看起來像這樣:Java的變化長期if語句轉化爲循環
if (pan[x + 1][y + 1].getBackground() == TeamColor &&
pan[x + 1][y].getBackground() == TeamColor &&
pan[x + 1][y -1].getBackground() == TeamColor &&
pan[x][y - 1].getBackground() == TeamColor &&
pan[x - 1][y - 1].getBackground() == TeamColor &&
pan[x - 1][y].getBackground() == TeamColor &&
pan[x - 1][y + 1].getBackground() == TeamColor &&
pan[x][y + 1].getBackground() == TeamColor) {
// do something
}
目的是檢查每個項目(在一個二維數組)的當前x和y的值周圍,使確定它們是正確的顏色。
我假設有一個簡單的方法來做到這一點。我會假設創建一個for
循環可以通過遍歷每個項目來解決問題,但不幸的是無法想到這樣做的方式,因爲項目並非全部按順序排列。
注:我發現了計算器許多其他職位,其中名爲「解決方案很長的if語句,」不幸的是,他們在不同的編程語言(如Python,Android和JavaScript)的
注2:這是不是this後的副本。這是一個字符串和正則表達式的問題,不幸的是不是我的問題的解決方案
希望有人會有一個答案!
@Mac - 是的,我想避免檢查pan [x] [y],只檢查周圍的元素。 – JFreeman
@JFreeman:相應地修正。 – Mac
至於我使用簡單的嘗試語句 – JFreeman