[英]Reading lines from System.In without an endline character
我正在從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])));
}
可以使用scanner.next()代替scanner.nextLine()...。當它沒有行尾字符時,它將從掃描器獲取一個字符串。
您也可以調用scanner.hasNextLine()來檢查是否在擔心的末尾到達了該行!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.