Java 程序产生错误的输出
下面的程序有问题。我现在基本上是Java新手 代码如下所示:Java 程序产生错误的输出,java,Java,下面的程序有问题。我现在基本上是Java新手 代码如下所示: public class IfElseIf{ public static void main(String []args) { int date=26; int month=9; int year=1995; if ((date>=1 | date <=10) || (month>=1 | month <=4) || year
public class IfElseIf{
public static void main(String []args)
{
int date=26;
int month=9;
int year=1995;
if ((date>=1 | date <=10) || (month>=1 | month <=4) || year==1995)
{
System.out.println("Your bday is in between 1-10/1-4/1995");
}
else if((date>=11 | date <=20) || (month >=5 | month <=8) || year==1995)
{
System.out.println("Your bday is in between 11-20/5-8/1995");
}
else if((date>=21 | date<=31) || (month >=9 | month <=12) || year==1995)
{
System.out.println("Your bday is in between 21-31/9-12/1995");
}
else
{
System.out.println("Your bday not found");
}
}
}
这里可能有什么问题?您使用了错误的运算符
是按位的“OR”,您需要逻辑的“and”,即&
谢谢Marcus的帮助。我也发现了同样的情况。OP还需要用“和”替换他的短路“或”。
Your bday is in between 1-10/1-4/1995