java - 输入验证并拒绝不当输入

标签 java validation if-statement

我正在尝试验证用户输入。我尝试过一些 if 语句并尝试 boolean 值。我无法得到任何东西来提供输出或者我想要的验证

用户被要求在“红色”或“蓝色”之间进行选择,我希望他们被要求输入“红色”或“蓝色”。我知道这可以通过按钮更轻松地解决,但我正在尝试使用字符串输入。下面的代码给出了我所在位置的示例。

custColorMsg = "Which color do you want your shirt to be red or blue?";
customerColor = getstringInput(custColorMsg);
String color = null 
if( customerColor.equalsIgnoreCase("yes")) {
color = true}

if( customerColor.equalsIgnoreCase("no")) {
color = true}

else if(!customerColor.equalsIgnoreCase("yes" || "no") {
color = false}  

我知道最后一部分是错误的,我只是不确定如何修复它。客户将有三次机会输入有效的响应,然后程序将终止,这部分我可以处理。如果我能弄清楚如何接受"is"或“否”并拒绝其他任何事情。

最佳答案

就这个程序的设计而言,我建议添加一个 for 循环,从 0 到 2(这将迭代 3 次)。在循环内,程序可以确定用户的输入是什么。我还建议查看下面的 for 循环语法,我使用 ifs、else ifs 和 elses 来更有效地评估数据集。

该程序的实现可以是:

for(int i = 0; i < 3; i++)
{
      customerColor = getstringInput(custColorMsg);
      String color = null 
      if( customerColor.equalsIgnoreCase("yes")) {
      color = true;
      break;
    }

      else if( customerColor.equalsIgnoreCase("no")) {
      color = true;
      break;
    }
      else{
      color = false;
    }
      custColorMsg = "Invalid Input, Please Input Again";
}

这将给用户 3 次输入数据的机会,如果输入正确,它将停止询问,但是,如果没有输入,它将再次询问,直到尝试次数用完为止。

关于java - 输入验证并拒绝不当输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281673/

相关文章:

java - Android If 语句用于多个 setOnClickListener

java - JPA 实体验证

从 if else 更改为三元运算符

java - 数组中的 LocalDate 给我空结果

java - 如何在 Java 中使用 SwingWorker?

zend-framework - Zend 框架 : Post to different action then return to original action if fails validation AND keep form fields

spring - 如何在我的 Controller 中验证(@Valid)之前检查安全访问(@Secured 或 @PreAuthorize)?

r - ifelse 在 R : If either 3 conditions evaluated on 3 vectors is true, 中向所有向量添加一个常量

php - IF 语句、IF 函数还是 CASE?

java - generatedValue 没有获得唯一的新值