Ibn*_*eed 2 java integer-division
我正在尝试编写一个程序,显示1到100之间的整数,可以被6或7整除但不能同时整数.
这是我的代码:
import acm.program.*;
public class Problem4 extends ConsoleProgram
{
public void run()
{
for (int i = 1; i <= 100; i++)
{
boolean num = ((i % 6 == 0) || (i % 7 == 0));
if (num == true)
println(i + " is divisible");
}
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示如下回答:6,7,12,14,18,21,24,28,30,35,36,42,48,49,54,56,60,63,66,70,72, 77,78,84,90,91,96,98
现在粗体数字42和84都是6和7的divisbile.现在如果我在上面的代码中更改了||to &&,结果只显示了42和84.
我应该做些什么改变才能从最终结果中删除这两个数字?
小智 19
XOR是要走的路.
import acm.program.*;
public class Problem4 extends ConsoleProgram {
public void run() {
for (int i = 1; i <= 100; i++) {
if ( (i % 6 == 0) ^ (i % 7 == 0) ) {
println(i + " is divisible");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你必须让你的情况看起来像:
boolean num = (i % 6 == 0 || i % 7 == 0) && !(i % 6 == 0 && i % 7 == 0);
Run Code Online (Sandbox Code Playgroud)
这基本上是将" 但不是两者 " 转换为Java代码:)
| 归档时间: |
|
| 查看次数: |
9411 次 |
| 最近记录: |