我正在阅读System.in,我正在使用Scanner类。我的问题是当我使用重定向时,文件中的最后一行没有被读取。我阅读了Scanner.readLine的文档,我猜它是因为它没有“行尾”字符。知道我可以使用什么来代替最后一行吗?
在我的代码输入中是“”。
Scanner scanner = new Scanner(System.in);
int sizeOfList = scanner.nextInt();
ArrayList<Integer> arrayList = new ArrayList<Integer>();
String input = scanner.nextLine();
System.out.println(input);
String[] splitInput = input.split(" |\\n");
for(int i = 0; i < splitInput.length; i++)
{
System.out.println(splitInput[i]);
arrayList.add(new Integer(Integer.parseInt(splitInput[i])));
}
答案 0 :(得分:1)
而不是scanner.nextLine(),您可以使用scanner.next()....这将从扫描仪获得一个字符串,当它没有行尾字符时。
您也可以调用scanner.hasNextLine()来检查您是否已到达您担心的最后一行!