Scanner in = new Scanner(System.in);
String err = "\nThat's not a card color!\n\n";
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);
}
用户必须输入一个等于“红色”,“绿色”或“蓝色”的字符串。我让它工作正常只是'红色',但我如何检查MULTIPLE字符串?
谢谢大家!它现在正在运作。对不起,我是Java的新手。如果之前我尝试过其他但是现在
System.out.print(err);
System.exit(0);
在其他声明中它完美运作!
答案 0 :(得分:3)
创建一个你要检查的String
数组,然后迭代它,如下所示:
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);
}
答案 1 :(得分:1)
如果你想让你的代码更简洁,这是一个单行:
if (!Arrays.asList("red", "green", "blue").contains(card)) {
System.out.print(err);
System.exit(0);
}
答案 2 :(得分:0)
考虑一下:
如果是“红色”,否则如果“绿色”则为“蓝色”,否则打印“错误!”
答案 3 :(得分:0)
你要做的是检查卡是否为红色,如果输入错误不是红色,但你要做的是检查每种颜色,如果所有输入都没有匹配,则打印错误。
所以就像
一样if(card.equals("red")){
... do something
}
else if( card.equals("blue"){
... do something else
}
else
error