私は与えられた文字列をさまざまなタイプの変数に解析する必要があるクラス割り当てを行っています。さまざまな変数は:氏名、姓、生年月日、生年月日です。これが行われた後、変数Personのコンストラクタに変数を送信する必要があります。文字列を解析してコンストラクタに複数の値を送る方法
3つの異なる値を変数に代入してから、その変数をコンストラクタに返す方法がついています。私は各変数の配列を宣言しようとした後、値を持つforループを埋めていますが、長さを宣言するきちんとした方法を見つけるのが難しくなりました。配列を文字列に変換して渡す必要があると思いますコンストラクタの値と結果のコードは面倒です。これを行う簡単な方法はありますか?
これはコード内の何かを変更するかどうかわかりませんが、値をコンストラクタに渡した後、そのオブジェクトをListコレクションに送信し、それを使用して各自の詳細を出力する必要があります。
public static void main(String[] args) {
// Given string to parse
String text = "John.Davidson/05051988/Belgrade Michael.Barton/01011968/Krakov Ivan.Perkinson/23051986/Moscow";
String[] parsArray = text.split("[ /.]+");
// Results from parsing
for (Object s: parsArray)
{
System.out.println(s);
}
for (int i = 0; i<parsArray.length; i+=4)
{
String firstName = parsArray[i];
String lastName = parsArray[i+1];
String birthPlace = parsArray[i+3];
System.out.println("\nFirst name: " + firstName + "\nLast name: " + lastName + "\nCity of birth: " + birthPlace);
}
}
}
クラス人とそのコンストラクタ:
import java.time.LocalDate;
public class Person {
String name;
String surname;
LocalDate dob;
String placeOfBirth;
public Person(String name, String surname, LocalDate dob, String placeOfBirth)
{
this.name = name;
this.surname = surname;
this.dob = dob;
this.placeOfBirth = placeOfBirth;
}
}
* "3つの異なる値を変数に割り当てる方法が残っています" *本当に??あなたのコードはそれを行います。 'String firstName = parsArray [i]'です。あなたはちょうどローカル変数に値を割り当てました。 – Andreas