2016-01-25 24 views
1

我試圖寫在其中探索和發現資源,但是當我嘗試稱之爲「探索類」遊戲,它貫穿此代碼:NoSuchElementException異常調用另一個類時

Scanner scanner = new Scanner(System.in); 
    int choose; 
    boolean keep = false; 
    do{ 
    System.out.println("Who would you like to send to explore?"); 
    System.out.println("======================================="); 
    System.out.println(" *\t1. Simon      *"); 
    System.out.println(" *\t2. Lily      *"); 
    System.out.println(" *\t3. Axel      *"); 
    System.out.println(" *\t4. Exit Exploring   *"); 
    System.out.println("======================================="); 
    choose = scanner.nextInt(); 

返回主類和作用:

System.out.println("==================================="); 
     System.out.println("\t 1. Explore"); 
     System.out.println("\t 2. Use Resources"); 
     System.out.println("\t 3. View Stats"); 
     System.out.println("\t 4. Sleep"); 
     System.out.println("==================================="); 
     option = scanner.nextInt();//where I believe the exception happened 

它拋出了異常:java.util.NoSuchElementException

我已經在探索類,b月底完成scanner.close();我不確定是否會導致這個問題。

任何人都可以向我解釋我的代碼中的錯誤?

+2

當你得到的異常你怎麼進入? –

+0

你可以[編輯]你的文章,幷包括樣本輸入和輸出。另外,您是否可以包含「探索課程」部分的完整代碼?我認爲這可能類似於另一個問題,在這個問題上某個人宣佈了一個「新的掃描儀(System.in)」並將其關閉。 – Arc676

+0

我做過scanner.close();在代碼的最後,是它拋出異常的原因是什麼? – dot

回答

0

嘗試使用

if(scanner.hasNextInt()){ 
    option = scanner.nextInt(); 
}