0

对于我们的编程任务,我们必须向用户询问区域名称和该区域的统计信息(整数),我们必须将整数与区域名称相关联,并且我们必须能够创建多个区域,这就是我到目前为止所得到的不知道下一步该做什么我感到困惑的是我们必须调用用户创建的所有区域区域 A、区域 B、区域 C,然后用户将从列表中选择一个区域假设区域 A 然后我们必须打印与区域 A 关联的整数示例区域 A 包含整数 {12,3,6,8]

            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();
4

4 回答 4

0

您应该考虑创建一个Region类来保存每个特定区域的数据。这将使代码易于管理。

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

    ...
}

List然后,您将拥有一个Region实例,您可以在用户输入有关每个区域的信息时创建它。

于 2012-11-03T21:09:43.057 回答
0

听起来您需要一个 Hashmap 或键值对集合。前提是这些地区是独一无二的。

HashMap<String, List<Integer>>

或者

HashMap<Region,List<Integer>>

或者

创建一个Region类,并具有List<Integer>.

像这样:

public class Region
{
  List<Integer> integers;
  String regionName;
  ....
}
于 2012-11-03T21:09:47.713 回答
0

我认为您最好使用Map/HashMap以下方式保存区域和统计信息:

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

现在您可以将值设置为:

   regionStatisticsMaps(regionName, reg_DoubleValues);
于 2012-11-03T21:10:18.897 回答
0

你需要一个键值对。在java API术语中,您需要一个Map

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

请注意,如果您需要插入顺序,请使用 LinkedHashMap 而不是 HashMap,因为 HashMap 不维护任何顺序。

   Map<String, List<Integer>> map = new LinkedHashMap<String,Integer>();
于 2012-11-03T21:11:31.520 回答