Java 从用户输入读取和检查多个字符串
用户必须输入一个等于“红色”、“绿色”或“蓝色”的字符串。我有它的工作只是'红色',但我如何让它检查多个字符串 谢谢大家!!它现在正在工作。对不起,我对Java有点陌生。我以前试过另一个if,但现在Java 从用户输入读取和检查多个字符串,java,string,input,compare,Java,String,Input,Compare,用户必须输入一个等于“红色”、“绿色”或“蓝色”的字符串。我有它的工作只是'红色',但我如何让它检查多个字符串 谢谢大家!!它现在正在工作。对不起,我对Java有点陌生。我以前试过另一个if,但现在 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? ");
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);
}
在else语句中,它工作得非常完美 考虑:
如果是“红色”,如果是“绿色”,如果是“蓝色”,则打印“错误!”
考虑:
如果是“红色”,如果是“绿色”,如果是“蓝色”,则打印“错误!”
你要做的是检查卡片是否是红色的,如果不是红色的输入是错误的,但是你要做的是检查每种颜色,如果所有输入都不匹配字符串,你就打印错误 那就这样吧
System.out.print(err);
System.exit(0);
你要做的是检查卡片是否是红色的,如果不是红色的输入是错误的,但是你要做的是检查每种颜色,如果所有输入都不匹配字符串,你就打印错误 那就这样吧
System.out.print(err);
System.exit(0);
创建一个要检查的
String
s数组,然后对其进行迭代,如下所示:
if(card.equals("red")){
... do something
}
else if( card.equals("blue"){
... do something else
}
else
error
创建一个要检查的
String
s数组,然后对其进行迭代,如下所示:
if(card.equals("red")){
... do something
}
else if( card.equals("blue"){
... do something else
}
else
error
如果您想让代码更简洁,这里有一行代码:
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);
}
如果您想让代码更简洁,这里有一行代码:
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);
}
谢谢,但我已经试过把它放在一个“如果”的声明中。哦,所以把错误放在一个else中,不要包含一个'!'成功了!非常感谢好心的先生!谢谢,但我已经试过把它放在一个“如果”的声明中。哦,所以把错误放在一个else中,不要包含一个'!'成功了!非常感谢好心的先生!不管输入是什么,这实际上都会打印错误,因为任何字符串都不能同时为红色、绿色和蓝色。@Njol您完全正确。我犯了愚蠢的错误。刚刚更正。不管输入是什么,这实际上都会打印错误,因为没有字符串可以同时为红色、绿色和蓝色。@Njol您完全正确。我犯了愚蠢的错误。刚刚纠正了它。