Мне нужен сканер, который попросит пользователя ввести символ, однако если введено более одного символа, он должен снова запросить пользователя только для одного символа.Измерьте длину входного сигнала сканера
Это то, что я до сих пор:
System.out.print("(Player 2) Guess a letter: ");
Scanner letterScan = new Scanner(System.in);
while(letterScan.nextLine().length()>1)
{
System.out.print("(Player 2) Please guess only one letter: ");
//char inputLetter = letterScan.next().charAt(0);
}
char inputLetter = letterScan.next().charAt(0);
System.out.println("letter: " + inputLetter);
Единственная проблема в том, что это выход, когда я запускаю его:
(Player 2) Guess a letter: asfa
(Player 2) Please guess only one letter: a
s
letter: s
Вы видите третью строчку? Он просит другое приглашение. Я хочу избавиться от этого и сделать так, чтобы вместо этого вместо него использовать букву во второй строке. Есть идеи?
Это не работает. Вы сравниваете строку с числом в условии while while. – Mo2
Не знаете, что вы, ребята, говорите здесь ... код, который я опубликовал, отлично работает. У меня было небольшое редактирование. Возможно, он еще не обновился на ваших экранах? –
Я не уверен, почему вы изменили «>» на «==», так как это изменило условие, в котором я нуждался, но в противном случае код работает. Я изменил == назад на> 1, как раньше. Трюк имел пустую строку в начале. Благодарю. – Mo2