2014-02-27 83 views
1

如果我想編寫一個代碼列表10次,我會使用一種方法,我應該怎麼做才能使它最簡單?最簡單的方法去使用一種方法

我需要複製的代碼是:

if (LastColor == 1) { 
      GREEN.apply(); 
     } else if (LastColor == 2) { 
      PINK.apply(); 
     } else if (LastColor == 3) { 
      ORANGE.apply(); 
     } else if (LastColor == 4) { 
      YELLOW.apply(); 
     } else if (LastColor == 5) { 
      BLUE.apply(); 
     } else if (LastColor == 6) { 
      PURPLE.apply(); 
     } else if (LastColor == 7) { 
      BLACK.apply(); 
     } 
+1

問題有點不清楚。 *代碼列表*是什麼意思?你的意思是你需要經常重用的代碼行嗎? –

+0

這很大程度上取決於您期望此方法實際執行的操作。如果每條語句都是相同的,那麼只需將代碼移動到一個方法並調用它即可。如果你想改變它的工作方式,你需要提供參數...... – MadProgrammer

+0

如果你在兩個不同的點上有相同的代碼,*總是*考慮寫一個方法。 – exception1

回答

3

我會用一個常量數組:

final Color[] colors = {null, GREEN, PINK, ORANGE, YELLOW, BLUE, PURPLE, BLACK}; 

然後,你可以只是做

colors[LastColor].apply(); 
+2

甚至是一個枚舉 – MadProgrammer

0

將這個代碼放到一個方法,使LastColor的方法的參數,即

void applyColor(int LastColor) { 
.... 
} 

,你可能還需要更換所有這些if else條款與switch case聲明。它看起來很多清潔