2016-10-07 54 views
1

好了,所以,我有這樣一段代碼:掃描儀輸入讀取多行代碼同時,拋出IntputMismatchException

if (type == 1){ 
      System.out.println("Agency name: "); 
      agencyName = in.nextLine(); 


      System.out.println("No. of days: "); 
      days = in.nextInt(); 


      Patuvanje p = new PraznicnoPatuvanje (agencyName, 20, days); 
      nizaPatuvanje[i] = p; 
     } 

掃描儀正在讀「agencyName」和「天」無我試圖輸入agencyName首先。我應該添加哪些代碼,以便編譯器等待,直到我初始化agencyName變量,然後讓我分配'days'變量。

這是怎麼看起來像在控制檯:

enter image description here

+0

寫的'in.nextLine();''後= agencyName in.nextLine();' –

+0

提供完整的代碼全部掃描儀您正在使用 –

回答

0

在代碼前面這一點,你正在閱讀的number of vacations

這樣做,你是按Enter這需要消耗後太。

更改您的代碼

in.nextLine(); // comse previouslt entered `Enter` 
System.out.println("Agency name: "); 
agencyName = in.nextLine(); 
0
if (type == 1){ 
        System.out.println("Agency name: "); 
        agencyName = in.nextLine(); 
        in.nextLine(); 

        System.out.println("No. of days: "); 
        days = in.nextInt(); 



        Patuvanje p = new PraznicnoPatuvanje (agencyName, 20, days); 
        nizaPatuvanje[i] = p; 


    } 

試試這個