在java中,如果一个数字可以被两个数字整除,但不能被第三个数字整除,如何显示它?
在java中,如果一个数字可以被两个数字整除,但不能被第三个数字整除,如何显示它?我不确定与下面代码的这部分| | a%4==0相关的最后一个运算符是否正确在java中,如果一个数字可以被两个数字整除,但不能被第三个数字整除,如何显示它?,java,if-statement,division,modulo,Java,If Statement,Division,Modulo,在java中,如果一个数字可以被两个数字整除,但不能被第三个数字整除,如何显示它?我不确定与下面代码的这部分| | a%4==0相关的最后一个运算符是否正确 int a = 15; if ((( a % 5) == 0) || ((a % 10) == 0) || ((a % 4) == 0)) { System.out.println("Number entered is divisible by 5 and 10 but not 4"); } else { System.o
int a = 15;
if ((( a % 5) == 0) || ((a % 10) == 0) || ((a % 4) == 0)) {
System.out.println("Number entered is divisible by 5 and 10 but not 4");
} else {
System.out.println("ERROR");
}
解释
你的情况不对。让我用英语解释一下你的病情是什么意思。你写了:
(( a % 5) == 0) || ((a % 10) == 0) || ((a % 4) == 0)
也就是a可以被5整除,或者可以被10整除,或者可以被4整除
有两个问题:
您将它们与或组合在一起&&
检查它是否可被4整除,而不是它是否不可被4整除!=0
解决方案
正确的条件是:
a % 5 == 0 && a % 10 == 0 && a % 4 != 0
笔记
由于运算符优先级的原因,可以删除括号。请参阅
请注意%10==0已经意味着%5==0。因此,对于这些特定的数字,您可以将条件简化为:
a % 10 == 0 && a % 4 != 0
解释
你的情况不对。让我用英语解释一下你的病情是什么意思。你写了:
(( a % 5) == 0) || ((a % 10) == 0) || ((a % 4) == 0)
也就是a可以被5整除,或者可以被10整除,或者可以被4整除
有两个问题:
您将它们与或组合在一起&&
检查它是否可被4整除,而不是它是否不可被4整除!=0
解决方案
正确的条件是:
a % 5 == 0 && a % 10 == 0 && a % 4 != 0
笔记
由于运算符优先级的原因,可以删除括号。请参阅
请注意%10==0已经意味着%5==0。因此,对于这些特定的数字,您可以将条件简化为:
a % 10 == 0 && a % 4 != 0
将| |更改为&&并将%4==0更改为%4!=0将| |更改为&&并将%4==0更改为%4!=0您需要正确地使用if条件使用&&而不是| |,如下所示, 另外,您还可以通过不检查%10==0条件来提高代码的效率,因为这是冗余的。不可被10整除的代码也可被5整除 试试下面的代码。这应该行得通
int a = 15;
if ( (a%5 == 0) && (a%4 != 0)) {
System.out.println("Number entered is divisible by 5 and 10 but not 4");
} else {
System.out.println("ERROR");
}
您需要正确使用if条件使用&&而不是| |,如下所示, 另外,您还可以通过不检查%10==0条件来提高代码的效率,因为这是冗余的。不可被10整除的代码也可被5整除 试试下面的代码。这应该行得通
int a = 15;
if ( (a%5 == 0) && (a%4 != 0)) {
System.out.println("Number entered is divisible by 5 and 10 but not 4");
} else {
System.out.println("ERROR");
}
FYI a%10==0意味着a%5==0 FYI a%10==0意味着a%5==0