我需要复制我拥有的数据,然后将其粘贴到java Eclipse Console输出窗口,这些数据包含一些行,每行都有一个单词。我不知道它有多少行。 我怎么能把线存储在一个数组中?我尝试了这段代码,但在粘贴数据后,我应该按两次键盘 Enter 键。它还存储偶数行(不是所有行)。我该如何解决?感谢
import java.util.ArrayList;
import java.util.Scanner;
public class SCAN {
public static void main(String[] args) {
ArrayList<String> lines = new ArrayList<String>();
Scanner s = new Scanner(System.in);
while(s.hasNextLine()){
String line = s.nextLine();
if(line.length() > 0) {
lines.add(s.nextLine());
} else {
break;
}
}
System.out.println(lines);
}
}
答案 0 :(得分:4)
将lines.add(s.nextLine());
更改为lines.add(line);
这里发生的事情是你使用nextLine()
两次。
因此,第一行读取并存储到line
,但之后读取第二行存储到ArrayList
,因此您存储的第一行不会存在ArrayList
我应该按两次键盘Enter键。
是的,你必须这样做,因为当你没有线路时,你正在打破循环。
如果要输入特定行,可以使用计数器作为行数。
您可以通过Scanner
提示为计数器插入特定值。
int i=0;
while(s.hasNextLine()){
String line = s.nextLine();i++;
if(line.length() > 0) {
lines.add(line);
} else {
//don't add empty Line
}
if(i==2)break;
}
答案 1 :(得分:0)
尝试一下。
Scanner read=new Scanner(System.in);
for(int i=0; i<size; i++) {
array[i]=read.next();
array[i]+=read.nextLine();
}