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 回答
0

如果要通过扫描仪以字符串形式打印 Arraylist

Scanner scan=new Scanner(System.in);
ArrayList<String> list=new Arraylist<String>();
list.add(Scan.nextline);
System.out.println(list);
于 2018-04-25T19:17:17.133 回答