**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
5个月前关门了。
改进这个问题
一个简单的文本游戏需要用户以yes或no格式输入。如果格式不正确,程序应该再次询问。我希望游戏使用不同的有趣的短语,而不是像“请输入是或否”无聊的。
我知道如何用java编写代码,但英语不是我的母语,我发现很难想出这样的短语。如果你能帮我想出这些英语短语,我会很高兴的。也许有一些想法,我可以找到这样的短语。
private boolean askYesNo() {
while (true) {
final var answer = scanner.nextLine().toUpperCase().charAt(0);
if (answer == 'Y' || answer == 'N') {
return answer == 'Y';
}
System.out.println(pickMessage(new String[]{
"Come on, yes or no?",
"Please enter yes or no."
}));
}
}
private String pickMessage(final String[] messages) {
return messages[random.nextInt(messages.length)];
}
1条答案
按热度按时间llmtgqce1#
首先,让我们修复现有代码中的几个错误:
缺少else块,这意味着if块后面的行将始终执行;
不管输入是否
Y
或者N
,您正在分配answer == 'Y';
把它还给我;返回uncasted(类型不是推断的)类型,该类型应为
Character
(因此,您应该强制转换它),但是您的方法声明返回完全不同的类型-boolean
.现在让我们从数组中选择一个随机字符串元素,同时修复现有问题: