亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java.util.NoSuchElementException原因及兩種解決方法

 更新時間:2022年06月28日 14:52:12   作者:星漢空兮  
本文主要介紹了java.util.NoSuchElementException原因及兩種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

java輸入流報錯:

Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Unknown Source)
    at java.base/java.util.Scanner.next(Unknown Source)
    at java.base/java.util.Scanner.nextInt(Unknown Source)
    at java.base/java.util.Scanner.nextInt(Unknown Source)

原因分析:

1、可能是因為迭代器多用了一次,指向空!

例如:

Scanner iter=new Scanner(System.in);
while(iter.hasNext()) {
    ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(iter.next().getID(),iter.next().getPkey()); 
    if(undoneUserStoriesList.size() >0){
        willdonefeautre--;
     }
}

分析:第二次使用 iter.next() 時,游標(biāo)已經(jīng)指向下一個位置了,中間多出來一個空值!

2、在函數(shù)中,聲明了一個 scanner 對象,并且調(diào)用了 close 方法,再次啟動 scanner 的時候(或者在另一個函數(shù)中重新啟動 scanner 時),就會遇到異常!

解決方法:

1、類如原因一的可以這樣解決,把 iter.next() 賦給一個中間變量:

Scanner iter=new Scanner(System.in);
while (iter.hasNext()) {
    JIRAFeature jirafeaturetemp = iter.next();
    ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(jirafeaturetemp.getID(),jirafeaturetemp.getPkey());
     if(undoneUserStoriesList.size() >0){
        willdonefeautre--;
     }
}

2、類如原因二的可以這樣解決:

使用多次Scanner get=new Scanner(System.in); 但是只在最后使用 iter.close() 函數(shù);
或者將Scanner get=new Scanner(System.in); 放在所有函數(shù)外層,同時在前面加上static修飾符,并且只在最后使用 iter.close() 函數(shù)!

到此這篇關(guān)于java.util.NoSuchElementException原因及兩種解決方法的文章就介紹到這了,更多相關(guān)java.util.NoSuchElementException報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論