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

HashMap は順序を維持しないため、挿入順序が必要な場合は、HashMap の代わりに LinkedHashMap を使用してください。

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