java.util.NoSuchElementException原因及兩種解決方法
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)文章
基于Springboot執(zhí)行多個定時任務(wù)并動態(tài)獲取定時任務(wù)信息
這篇文章主要為大家詳細(xì)介紹了基于Springboot執(zhí)行多個定時任務(wù)并動態(tài)獲取定時任務(wù)信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04SpringBoot中mapper.xml文件存放的兩種實現(xiàn)位置
這篇文章主要介紹了SpringBoot中mapper.xml文件存放的兩種實現(xiàn)位置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Java中設(shè)置session超時(失效)的三種方法
這篇文章主要介紹了Java中設(shè)置session超時(失效)的三種方法,本文講解了在web容器中設(shè)置、在工程的web.xml中設(shè)置、通過java代碼設(shè)置3種方法,需要的朋友可以參考下2015-07-07java實現(xiàn)輕量型http代理服務(wù)器示例
這篇文章主要介紹了java實現(xiàn)輕量型http代理服務(wù)器示例,需要的朋友可以參考下2014-04-04Spring實現(xiàn)控制反轉(zhuǎn)和依賴注入的示例詳解
這篇文章主要為大家詳細(xì)介紹IoC(控制反轉(zhuǎn))和DI(依賴注入)的概念,以及如何在Spring框架中實現(xiàn)它們,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08Java數(shù)組模擬優(yōu)先級隊列數(shù)據(jù)結(jié)構(gòu)的實例
這篇文章主要介紹了Java數(shù)組模擬優(yōu)先級隊列數(shù)據(jù)結(jié)構(gòu)的實例,優(yōu)先級隊列中的元素會被設(shè)置優(yōu)先權(quán),本文的例子借助了Java中的TreeSet和TreeMap,需要的朋友可以參考下2016-04-04