2012-11-03 113 views
0

對於我們的編程任務,我們必須要求用戶輸入區域名稱和該區域的統計(整數),我們必須將整數與區域名稱相關聯,並且必須能夠創建多個區域這是我到目前爲止丟失的下一步做什麼在我感到困惑的地方是我們必須調用所有區域用戶已經做出區域A,區域B,區域C,然後用戶將從列表中選擇一個區域讓我們說區域A那麼我們就必須打印帶有區域A示例性區域A相關的整數包含整數{12,3,6,8]Java動態集合對象

  ArrayList<String> regions = new ArrayList<String>(); 

      System.out.print(" Enter Region to Add to List: "); 
      regionName = keyb.nextLine(); 
      keyb.nextLine(); 
      regions.add(regionName); 
      System.out.printf(" Enter Data for %s: " ,regionName); 
      regionData = keyb.nextLine(); 
      String[] reg_Values = regionData.split(" "); 
      double[] reg_DoubleValues = new double[reg_Values.length]; 
      double num; 
      for (int i=0; i<reg_Values.length; i++) 
      { 
       num = Double.parseDouble(reg_Values[i]); 
       reg_DoubleValues[i] = num; 
       System.out.print(reg_DoubleValues[i]); 

      } 
      System.out.println(); 
+1

請對您的問題更具體。什麼讓你困惑? –

+0

讓我感到困惑的是將用戶輸入的整數賦值給區域名稱示例:區域A包含整數12,4,6,3,8 |區域B包含整數3 7 11 2 5,然後調用用戶所做的所有區域 – Gareth

回答

0

這聽起來像你需要一個Hashmap或一個鍵值對集合。 規定區域是獨特的。

HashMap<String, List<Integer>> 

或者

HashMap<Region,List<Integer>> 

或者

創建Region類,並有List<Integer>組成。

像這樣:

public class Region 
{ 
    List<Integer> integers; 
    String regionName; 
    .... 
} 
0

你應該考慮創建一個Region類來保存數據,每一個特定的區域。這將使代碼更容易管理

class Region { 
    String name; 
    String[] otherInfo; 
    double[] otherOtherInfo; 

    ... 
} 

你會那麼只需RegionList一個實例,它在用戶輸入有關每個區域的信息,您可以創建。

+0

我可以創建一個區域類,但是讓我困惑的是我們必須打印用戶所做的區域區域A,區域B, C區域,當他們從列表中輸入區域名稱時,我們必須打印與區域相關的值示例區域A包含整數[12,3,6,8],我無法弄清楚如何調用所有區域然後調用與該地區相關的整數 – Gareth

0

我想你最好使用Map/HashMap舉行區域和統計如下:

Map<String, double[]> regionStatisticsMaps = new HashMap<String, double[]>(); 

現在你可以把值:

regionStatisticsMaps(regionName, reg_DoubleValues); 
+0

@ARS:我已經更新了。當我更新它時,得到您的評論:) –

0

您需要一個鍵值對。在java API條款你需要一個地圖

Map<String, List<Integer>> map = new HashMap<String, Integer>(); 

記你,如果你需要插入順序使用LinkedHashMap的,而不是作爲HashMap的HashMap的犯規維護任何順序。

Map<String, List<Integer>> map = new LinkedHashMap<String,Integer>();