从用户输入中读取和检查多个字符串


Scanner in = new Scanner(System.in);   
      String err = "nThat's not a card color!nn";
 System.out.print("Is your card red, green or blue? ");
    String card = in.nextLine();
        if ((!"red".equals(card))){
            System.out.print(err);
             System.exit(0);
        }

用户必须输入等于"红色","绿色"或"蓝色"的字符串。我的工作正常为"红色",但是如何检查多个字符串?

谢谢大家!现在正在工作。抱歉,我是Java的新手。我以前尝试过其他尝试,但现在是

    System.out.print(err);
    System.exit(0);

在其他语句中,它正常工作!

制作一个 String s的数组,您要检查然后在它上迭代,如这样:

boolean foundColor = false;
for(String color:new String[]{"red","green","blue"}){
    if (color.equals(card)){
        foundColor = true;
    }
}
if(!foundColor){
    System.out.print(err);
    System.exit(0);
}

如果要使代码更简洁,这里有一个单线:

if (!Arrays.asList("red", "green", "blue").contains(card)) {
    System.out.print(err);
    System.exit(0);
}

考虑:

如果"红色",则否则"绿色"否则,如果"蓝色",则打印"错误!"

您要做的是检查卡是否不红,输入是错误的,但是您想做的就是检查每种颜色字符串打印错误。

所以就像

一样
if(card.equals("red")){
 ... do something
}
else if( card.equals("blue"){
 ... do something else
}
else
  error

相关内容

  • 没有找到相关文章

最新更新