我有一个包含字符串的用户输入数据的字符串向量。现在我需要确保如果字符串与指定的几个不同,程序不会执行。向量包含 4 个字段,每个字段都有不同的条件:
- vector[0] 只能是“1”或“0”
- vector[1] 只能是“红色”或“绿色”
- vector[2] 只能是“1”、“2”或“3”
- vector[3] 只能是“1”或“0”
我尝试为每种情况编写 if:
if(tokens[0]!="1" || tokens[0]!="0"){
decy = "error";
}
else if(tokens[1]!="red" || tokens[1]!="green"){
decy = "error";
}
else if(tokens[2]!="1" || tokens[2]!="2" || tokens[2]!="3"){
decy = "error";
}
else if(tokens[3]!="1" || tokens[3]!="0"){
decy = "error";
}
else{
switch(){} //working code
}
return decy;
它总是先进入 if 并返回错误。我尝试使用if而不是else if但它也不起作用。我检查了vector[i]
内容,它返回了正确的字符串。没有“”在它的末尾等。删除else并释放开关只会使程序检查第一个条件并忽略其余部分。
我可能做错了什么,但我在互联网上找不到答案,所以我决定在这里问。