我希望有一个扫描器,能够要求用户输入一个字符,但是如果输入超过一个字符,它应该再次提示用户只输入一个字符。
以下是我目前的代码:
唯一的问题是,当我运行它时,输出如下:
以下是我目前的代码:
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
看到第三行了吗?它正在请求另一个提示符。我想摆脱那个提示符,使其使用输出中第二行的字母。有什么建议吗?
!=
而不是==
。如果输入一个长度为0的字符串,>1
将允许循环退出,这意味着您在下一行引用字符0将导致崩溃。尝试使用>1
,只需按回车键而不输入任何内容即可。如果您不使用!=1
,则对于该情况它将会崩溃。 - William Morrison