2016-10-07 27 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; 


    } 

试试这个