为什么第一个if
语句始终为真?
private String setDepartment (){
int code = Integer.parseInt(JOptionPane.showInputDialog("Enter The Department Code:\n" +
"1:Sales\n" +
"2:Development\n" +
"3:Accounting\n" +
"4:None"));
/*Why this if statement is always true? How do i solve it? */
if (code !=1 || code !=2 || code !=3 || code !=4)
{
JOptionPane.showMessageDialog(null, "Invalid Number.Enter a number between 1-4");
setDepartment();
}
if (code==1){
return "Sales";
}
else if (code==2){
return "Development";
}
else if (code==3){
return "Accounting";
}
else
return "";
}
答案 0 :(得分:1)
将||
替换为&&
:
if (code !=1 && code !=2 && code !=3 && code !=4)
答案 1 :(得分:0)
您需要使用AND而不是OR。
如果用户输入1,则它会自动不同于2,3和4。
因此,您可以使用:
if (code !=1 && code !=2 && code !=3 && code !=4)
OR
if (code ==1 || code ==2 || code ==3 || code ==4)
答案 2 :(得分:0)
从第一原则开始,选择code = 1
:
code !=1 || code !=2 || code !=3 || code !=4
= 1 !=1 || 1 !=2 || 1 !=3 || 1 !=4
= false || true || true || true
= true
您的意思可能是&&
,而不是||
。
答案 3 :(得分:0)
因为在任何时间点,代码值都是1-4中的任何一个。 4个条件中的3个永远都是正确的。将您的if条件更改为
from([1, 2]).pipe(
reduce((acc, curr) => {
return acc + ' ';
}, '')
);