日期:2014-05-20  浏览次数:20595 次

java中从控制台输入多行数据 按回车键结束怎么做到?
ArrayList<String> array=new ArrayList<String>();
   Scanner  scn = new Scanner(System.in);

while(scn.hasNextLine()){
array.add(scn.nextLine());
}
return array;
这个怎么不行啊  请高手指点…………

------解决方案--------------------
按回车键是输入下一行 可以做个判断
你的newxLine()方法不对

ArrayList<String> array = new ArrayList<String>();
Scanner scn = new Scanner(System.in);

String line;
while (!"end".equals(line = scn.nextLine())) {
array.add(line);

}

for(String str : array){
System.out.println(str);
}

------解决方案--------------------
多行输入,应该有个结束符标志,否则,你按回车,系统怎么知道你是输入结束还是要继续输入下一行呢?
像LS那样,用个end字符串作为输入结束标志