我在使用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);
功能是明智的,因为'Friend'中有很多不同的元素:( String name,String username,String city,String message)?
答案 0 :(得分: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]);
答案 1 :(得分:0)
如果您想通过扫描仪打印字符串中的Arraylist
Scanner scan=new Scanner(System.in);
ArrayList<String> list=new Arraylist<String>();
list.add(Scan.nextline);
System.out.println(list);