猿问

使用 toSplit() 方法拆分后如何使用字符串声明人员对象?

我为自己制作了字符串,例如:


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

人:

Ime:John

Prezime:戴维森

数据:1988-05-05

Mesto:贝尔格莱德


人:

Ime:Michael

Prezime:Barton

Datum:1968-01-01

Mesto: Krakov


人:

Ime:Ivan

Prezime:Perkinson

数据:1986-05-23

Mesto:莫斯科


眼眸繁星
浏览 108回答 1
1回答

FFIVE

你会使用一个循环和一个数组Person(或者List<Person>如果你愿意的话):// ASSERTION: parts.length % 4 == 0Person[] people = new Person[parts.length / 4];int peopleIndex = 0;for (int i = 0; i < parts.length; i += 4) {&nbsp; &nbsp; people[peopleIndex++] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);}我想你甚至不需要peopleIndex:// ASSERTION: parts.length % 4 == 0Person[] people = new Person[parts.length / 4];for (int i = 0; i < parts.length; i += 4) {&nbsp; &nbsp; people[i / 4] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);}使用List<Person>:// ASSERTION: parts.length % 4 == 0List<Person> people = new LinkedList<>(); // Or new ArrayList<>(parts.length / 4), or...for (int i = 0; i < parts.length; i += 4) {&nbsp; &nbsp; people.push(new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]));}
随时随地看视频慕课网APP

相关分类

Java
我要回答