2016-02-09 49 views
0

如果我試圖將兩個單獨的int值應用於在字符串數組內輸入的值,我該如何去做?我嘗試了很多方法,甚至有可能。例如,下面是我在一個單獨的項目測試代碼的簡單一點:我不知道如何應用值

public static void main(String [] args) { 

    Cards gaI = new Cards("Example 1", "Attack", 5, "Defense", 5); 
    Cards abI = new Cards("Example 2", "Attack", 5, "Defense", 10); 
    Cards aII = new Cards("Example 3", "Attack", 5, "Defense", 10); 

    Cards [] cards = new Cards [3]; 

    cards [0] = gaI; // 
    cards [1] = abI; 
    cards [2] = aII; 

    //for (int i = 0; i < cards.length; i++){ 
     for (Cards c : cards){ 
      System.out.print(c); 
     } 
    } 
} 

我想要做的是建立兩個不同的陣列,或者只是一個用數字值,並將其應用到各上面的對象給他們自己的設定值。如果僅僅處理每個對象而不是使它們成爲對象,只是將它們聲明爲變量,然後在同一個類中單獨添加所有附加數據,會更有意義嗎?讓他們以適當的格式打印是很容易的部分。我希望能夠使int值成爲每個卡的永久值。例如,類似於Yu-Gi-Oh卡。我希望我正確地問這個問題。

+0

您能否以更清晰的方式更改您的問題? – radoh

+0

「自己的設定值」是什麼意思? – radoh

+0

我想我可能會搞清楚。但爲了回答你的問題,我的意思是我想從一個字符串數組中獲取一個值,並從兩個不同的int數組中獲取兩個int值,並返回帶有int值的字符串。例如(「Name」,250,250),並使字符串保持int的永久值,但我一直在說這一切都是錯誤的。還沒有弄清楚,但我正處在正確的軌道上。 –

回答

0

您可以通過多種陣列在同一時間使用一個簡單的循環

int[] intValues1 = ...; 
int[] intValues2 = ...; 
String[] stringValues = ...; 
// if you are sure the arrays have the same length, this will work OK for you 
for (int i = 0; i < intValues1.length; i++) { 
    Card c = new Card(stringValues[i], intValues1[i], intValues2[i]); 
    ... 
} 

如果數組的長度不同,那麼您需要調整您的循環條件迭代,或者你可能會得到IndexOutOfBounds例外,例如這樣

for (...; i < intValues1.length && i < intValues2.length && i < stringValues.length; ...) 

要在Card永久

class Card { 
    final String stringVal; 
    final int intVal1; 
    final int intVal2; 
    public Card(stringVal, intVal1, intVal2) { 
     this.stringVal = stringVal; 
     this.intVal1 = intVal1; 
     this.intVal2 = intVal2; 
    } 
} 

而且很明顯的價值,定義僅適用於類干將。

+0

迄今爲止最好的解釋之一呢。非常感謝! –