[英]How to solve java.util.NoSuchElementException: for HashMaps and ArrayLists?
[英]How to solve java.util.NoSuchElementException?
這是我的代碼:
try {
scan_movie_theater = new Scanner(new FileInputStream(new File("d:/movietheater.txt")));
} catch (FileNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
while((line = scan_movie_theater.next()) != null ){
i = scan_movie_theater.nextInt();
System.out.println(line);
System.out.println(i);
}
scan_movie_theater.close();
我想像一個字符串一個整數一樣讀取文件。 我可以做到這一點。 但是當我完成文件的讀取時。 我看到一個java java.util.NoSuchElementException。 我怎樣才能解決這個問題?
這是我的txt文件。
dsa 435
salon 123
xxxx 123214324
請參閱Javadoc。 Scanner.next()不返回null。 您必須在調用next()之前檢查hasNext()。
95%的代碼與問題無關,包括所有的Swing代碼。
您需要這樣做:
while( scan_movie_theater.hasNext()){
line = scan_movie_theater.next();
i = scan_movie_theater.nextInt();
System.out.println(line);
System.out.println(i);
}
在當前的實現中,您將嘗試閱讀最后的內容。
希望這可以幫助。
當您在集合結束后嘗試訪問元素時,通常會出現此錯誤。 即由於列表已經結束而實際上不存在的元素。 解決方案:您必須檢查EOF以及hasNext()。 next()只是將光標移動到下一個元素,而您嘗試訪問的元素在EOF之后不存在。 因此,嘗試使用hasNext()來檢查下一個元素的存在,然后應用next()檢索下一個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.