2016-10-07 3 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 во-первых. Какой код следует добавить, чтобы компилятор подождал, пока не инициализирую переменную agentName, а затем позвольте мне назначить переменную «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; 


    } 

попробовать это

Смежные вопросы