支票号码是另一个号码的倍数

PPD*_*PPD -5 java

我正在使用使用余数运算符的数字是另一个的倍数.如果第一个数字是3,那么第二个数字是15

if (3 % 15 == 0) {

}
Run Code Online (Sandbox Code Playgroud)

然后它工作(不进入if).但是现在如果第一个数字是3而第二个数字是4000那么它不起作用条件仍然是真的

if (3 % 4000 == 0) {

}
Run Code Online (Sandbox Code Playgroud)

在这里它不应该进入,如果情况.但这里的条件是真的.为什么会这样?

NPE*_*NPE 5

如果你仔细测试你的程序,你会发现在任何情况下都不会if执行语句的正文.

原因是你有%错误的方法论证.

if应阅读:

if (4000 % 3 == 0) {
Run Code Online (Sandbox Code Playgroud)

%运算符返回分割的其余第一参数所第二.

  • 我没有看到任何迹象表明OP确实想要找到模数为3的余数...而且它与进入`if`无关(这不会发生任何一种方式). (3认同)
  • 这不回答这个问题 - 他在问为什么它是真的(它不是......),这与此无关. (2认同)