2015-12-08 2 views
-1

Я хочу получить 3 строки из консоли и после этого напечатать значения, моя проблема состоит в том, чтобы получить 3 ввода от пользователя, использующего цикл, но только 2 входных значения получены и распечатаны здесь. код.Строковый вход не работает правильно, используя класс сканера

int rockSize=sc.nextInt(); 
String[] rock=new String[rockSize]; 
for(int i=0;i<rock.length;i++) 
rock[i]=sc.nextLine(); 

ответ

1

Вы должны проглотить ENTER, что вы толкаете после ввода вашего числового значения.

например.

int rockSize=sc.nextInt(); 
sc.nextLine();       // add this 
String[] rock=new String[rockSize]; 
for(int i=0;i<rock.length;i++) 
rock[i]=sc.nextLine(); 
+0

спасибо, но почему нам нужно поставить эту дополнительную строку? может у PLZ объяснить? –

+0

@Mareeswaran - потому что 'nextInt()' оставляет символ новой строки (когда вы нажимаете «enter»). 'nextLine()' потребляет его – TheLostMind

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