5

Stringsそのような新しい変数を作成する必要があります

String person1 = "female";
String person2 = "female";
........
........
String person60 = "male";
........
String person100 = "male";

これは私が試したものです

for (int i = 1; i <101; i++) {
  if (i<60) {
    String person+i = "female";
  }
  else {
    String person+i = "male";   
  }
}

このコードを修正するのを手伝ってくれる人はいますか?

4

7 に答える 7

24

Map を使用すると、任意のキーを任意の値に関連付けることができます。この場合、キーは変数の名前で、値は値です。

Map<String, String> details = new HashMap<>();
for (int i = 1; i <101; i++) {
    if (i<60) {
        details.put("person" + i, "female");
    }
    else {
        details.put("person" + i, "male");
    }
}
于 2013-10-12T15:59:32.143 に答える
9

あなたは近くにいます。各人の性別を配列に格納すると、次のようになります。

String[] persons = new String[100]
for (int i = 0; i < persons.length; i++) {
  if (i<60) {
    persons[i] = "female";
  }
  else {
    persons[i] = "male";   
  }
}

代わりに、人が性別以上の場合はPerson、性別フィールドを保持するクラスを作成し、 の配列を持つことを検討してPersonください。同様の方法で性別を設定します。

于 2013-10-12T15:57:55.823 に答える
6

Map<String,String>キーが「変数名」で、値がその変数の値であるa を使用できます。

于 2013-10-12T15:58:02.027 に答える
4

String[]動的に決定できるサイズが必要になります。
次に、配列要素に値を割り当てます。

String[] anArray;

// some magic logic

anArray = new String[100];
for(int i = 0; i < anArray.length; i++){
 // more magic logic to initialize the elements
}  

別のオプションは、Vector<>またはそのArrayList<>ようなものです:

List<String> anExpandableArray = new ArrayList<String>();
// add String data
anExpandaleArray.add("Foo");
anExpandaleArray.add("Bar");
于 2013-10-12T15:57:43.183 に答える
4

同じタイプの「より多くの変数」を作成したい場合は、通常、何らかのリストが必要です。ListJava には、配列とsという 2 種類の基本的な「リスト」があります。

配列:

String[] people = new String[10];               // That gives you room for 10

people[0] = "female";
people[1] = "male";
// ...
int n = 1;
System.out.println("Person " + n + " is " + people[n]);

A List:

List<String> people = new LinkedList<String>(); // Expandable
people.add("female");
people.add("male");
// ...
int n = 1;
System.out.println("Person " + n + " is " + people.get(n));
// Note difference -------------------------------^^^^^^^

配列の数が事前にわかっている場合は、配列を使用すると便利です。リストを使用すると、いくつあるか分からない場合に便利です。

リストに関する注記:インターフェース、があり、次に異なるランタイム パフォーマンス特性 ( 、 、など)Listを持つ複数の異なる具象実装があります。これらは にあります。LinkedListArrayListjava.util

于 2013-10-12T15:58:44.003 に答える
3

そのように配列を使用するだけです

String[] people = new String[numofelements];

そして、配列を初期化します

for(int i = 0; i < people.length; i++){
      people[i] = "whatever";
}
于 2013-10-12T15:57:54.527 に答える
3
String[] persons = new String[101];

for (int i = 0; i < 101; i++) {
    if (i < 60) {
       String persons[i] = "female";
    } else {
       String persons[i] = "male";   
    }
}
于 2013-10-12T15:58:20.410 に答える