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