Java While 循环程序

标签 java loops while-loop

我正在尝试获取“y”、“Y”、“n”或“N”的有效输入。

如果输入无效(例如任何以“y”或“n”开头的单词),我希望它重新提示用户输入。

到目前为止我有:

while  (again.charAt(0) != 'N' && again.charAt(0) != 'n' && again.charAt(0) !='Y' && again.charAt(0) != 'y' ) {
    System.out.println ("Invalid Inpur! Enter Y/N");
    again = numscan.next();
}

if (again.charAt(0)== 'N' || again.charAt(0) == 'n') {
    active = false;                   
} else {
    if (again.charAt(0)== 'Y' || again.charAt(0) == 'y'){
        active = true;
        random = (int) (Math.random () *(11));
    }
}

我遇到的问题是,如果我输入任何以字母“y”或“n”开头的单词,它会将其视为有效输入(因为它是插槽 0 中的字符)。我需要帮助解决此问题,以便在用户输入以“y”或“n”开头的单词时重新提示他们。

谢谢!

最佳答案

假设 again 是一个包含完整用户输入的字符串,您可以使用:

while (!again.equals("N") && !again.equals("n") ...

.equals() 方法只有在整个 字符串匹配时才会匹配。

关于Java While 循环程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789960/

相关文章:

java - 如何修复错误 "org.xml.sax.SAXParseException/Content is not allowed in prolog"?

java - 为什么JVM的运行时最大内存小于命令行-Xmx中指定的值?

java - 根据 .txt 文件中的信息检查用户输入

python - 使用 while 循环添加和减去当前位置

java - 在mahout频谱聚类中,亲和矩阵中的对角元素值应该是多少

java - 使用可选值填充映射中的值

python - 循环多个值的多个生成器

javascript - 使循环不挂起浏览器

python - 为什么 While 循环会在下一条语句中产生语法错误

java - while 循环忽略我的参数。基本 10 以上 0 以上