ペック:
私は次のように、自分自身のための文字列を作りました。
johnName = parts[0]
johnSurname = parts[1]
.
.
.
しかし、どのような場合、私は100人の代わりに3を持っていましたか?だから私は、オブジェクトに文字列の配列の値を置けばいいのか?
String text = "John.Davidson/05051988/Belgrade Michael.Barton/01011968/Krakov Ivan.Perkinson/23051986/Moscow";
String[] parts = text.split("[./ ]+" );
String johnIme = parts[0];
String johnPrezime = parts[1];
String johnDatum = parts[2];
String johnMesto = parts[3];
String michaelIme = parts[4];
String michaelPrezime = parts[5];
String michaelDatum = parts[6];
String michaelMesto = parts[7];
String ivanIme = parts[8];
String ivanPrezime = parts[9];
String ivanDatum = parts[10];
String ivanMesto = parts[11];
Person john = new Person(johnIme, johnPrezime, datumJohn, johnMesto);
Person michael = new Person(michaelIme,michaelPrezime,datumMichael ,michaelMesto);
Person ivan = new Person(ivanIme,ivanPrezime,datumIvan ,ivanMesto);
人:
名前:ジョン・
姓:ダビッドソン
日:1988年5月5日
場所:ベオグラード人:
名:Michael
姓:バートン
日:1968年1月1日
場所:クラクフ人:
名前:ジョン・
姓:パーキンソンの
日付:1986年5月23日
場所:モスクワ
TJクラウダー:
あなたは、ループとの配列を使用したいPerson
(またはList<Person>
あなたが好む場合):
// ASSERTION: parts.length % 4 == 0
Person[] people = new Person[parts.length / 4];
int peopleIndex = 0;
for (int i = 0; i < parts.length; i += 4) {
people[peopleIndex++] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);
}
私は、あなたも本当に必要としないと仮定しますpeopleIndex
:
// ASSERTION: parts.length % 4 == 0
Person[] people = new Person[parts.length / 4];
for (int i = 0; i < parts.length; i += 4) {
people[i / 4] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);
}
使い方List<Person>
:
// ASSERTION: parts.length % 4 == 0
List<Person> people = new LinkedList<>(); // Or new ArrayList<>(parts.length / 4), or...
for (int i = 0; i < parts.length; i += 4) {
people.push(new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]));
}