2

スキャンした情報を Java の配列に入れるのに問題があります。

private void initializeFriends()
{
    //initialize the size of array:
    friends = new Friend[200];
    //initialize the first 5 objects(Friends):
    friends[0] = new Friend("Rodney Jessep", "rj2013", "Brisbane", "hi!");
    friends[1] = new Friend("Jaime Smiths", "abcd5432", "Sydney", "how's going");
    friends[2] = new Friend("William Arnold", "william1994", "Brisbane", "boom");
    friends[3] = new Friend("James Keating", "qwerty52", "Newcastle", "Hey");
    friends[4] = new Friend("Amy Richington", "IAmRichAmy", "Perth", "Yo");
}

上記の手順が実行された後、呼び出されたメソッドaddFriends()が実行され、スキャナがデータをfriend構造に配置します。

配列に情報をスキャンする最良の方法は何ですか? Scanner in = new Scanner(System.in);「フレンド」にはさまざまな要素 (文字列名、文字列ユーザー名、文字列都市、文字列メッセージ) があるため、この機能を使用するのは賢明でしょうか?

4

2 に答える 2

5

コンソールから入力を受け取っていて、それが不適切にフォーマットされることはないと安全に想定できる場合は、次を使用できます。

Scanner in = new Scanner(System.in):  //receives input from the console
String line = in.nextLine(); //receives everything they type until they hit enter

それは彼らが入力するすべての情報を取り込みます。入力が次の場合:

"Jaime Smiths, abcd5432, Sydney, how's going"

次に、値をカンマで分割できます。

String[] values = line.split(",");
for(String s: values)
    System.out.println(s);

次の出力が得られます。

"Jaime Smiths"
" abcd5432"
" Sydney"
" how's going"

末尾または先頭のスペース文字を削除する必要がありますが、それにより必要な値が得られ、それらを連結して既存の配列に追加できます。

friends[5] = new Friend(values[0], values[1], values[2], values[3]);
于 2013-08-25T01:07:20.080 に答える