2011-09-28 62 views
0

我正在嘗試做比分配課程所需要的多一點。最終,我將隨機獲得以下數據。我無法弄清楚如何對數組的數字部分進行數學運算。現在,我使用字符串來存儲數組,並且數值被存儲爲字符串。我試着做一個對象[] [] ....我不知道如何做對象的數學。多級數組內的字符串和整數

是否有存儲多維(堆疊?)陣列作爲字符串等爲整數的一些值的方法嗎?

我知道它不是隻顯示數組的偶數對象。我改變了代碼,以便獲得幫助。我在家裏的版本中確實有這個功能。

我嘗試使用上Initialising a multidimensional array in Java找到的信息,但它沒有給出一個解決方案,我可以做的工作。

非常感謝!

import java.util.Random; 

public class StackedArrayTest { 
    public static void main(String[] args) { 
     String[][] stats = new String[][] { { "Str", "6" }, { "Con", "3" }, 
       { "Int", "5" }, { "Wis", "8" }, { "Dex", "2" }, 
       { "pAtk", "0" }, { "mAtk", "0" }, { "AC", "0" }, 
       { "Mana", "0" }, { "HP", "0" } }; 

     System.out.println("There are " + stats.length 
       + " objects in the array."); 
     System.out.println("The first object in the array is: " + stats[0][0] 
       + "."); 
     System.out.print("Even objects in array are: "); 

     for (int i = 0; i < stats.length; i = i + 1) { 
      if (i <= stats.length - 3) { 
       stats[i][1] = (stats[i][1]); 
       System.out.print(stats[i][1] + ", "); 
      } else 
       System.out.println(stats[i][1]); 
     } 
    } 
} 
+0

你需要一個'Map '也許? –

回答

0

要麼使用Map<String, Integer>或修改

for(int i=0; i < stats.length; i = i + 1) { 
     if (i <= stats.length - 3) { 
      stats[i][1] = (stats[i][1]); 
      System.out.print(stats[i][1] + ", "); 
     } 
     else System.out.println(stats[i][1]); 
    } 

for(int i=0; i < stats.length; i = i + 1) { 
     if (i <= stats.length - 3) { 
      try { 
       System.out.print(Integer.parseInt(stats[i][1]) + ", "); 
      } catch(NumberFormatException ignore){/* ignore this */} 
     } 
     else { 
      try { 
       System.out.println(Integer.parseInt(stats[i][1]) + ", "); 
      } catch(NumberFormatException ignore){/* ignore this */} 
     } 
    } 
+0

這很好,非常感謝你的幫助。我試圖做類似的事情,但我在錯誤的地方有Integer.parseInt,我沒有使用catch。 – Bryan

0

我建議你使用 「HashMap的」,因爲它可以定義類型鍵和值

HashMap<String, Integer> stats = new HashMap<String, Integer>(); 
stats.put("Str", 6); 
stats.put("Con", 3); 
// And so on... 
System.out.println(""+(stats.get("Str")+1)); //4 
+0

到目前爲止,我正在玩弄HashMap和漂亮的光滑。我被要求在這個任務中使用一個數組,並且我有很多的讀法來弄清楚什麼是HashMap可以做的事情,因爲我從來沒有聽說過它,直到你的帖子。我已經改變了我的使用HashMap的效果。感謝您的回覆/信息! – Bryan