【发布时间】:2014-02-18 23:54:57
【问题描述】:
所以我的任务是创建一个 java 程序,打印 2-500 (含)的所有数字,每行 10 个数字。我已经学习了循环的基础知识和方法的简要介绍。我查看了其他问题/答案,但是,我似乎无法将所有信息组合成可行的代码。
int n;
for (int count = 0; count < 10; count++) {
for (n=2; n <= 500; n++){
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i != 0)
System.out.print(i + " ");
}
}
System.out.println();
}
这就是我所拥有的,我正在打印一组非常奇怪的数字。我知道我的 if 声明有问题,而且我知道我没有设置它来正确打印出正确的值,我完全不知所措。
老实说,我仍然无法弄清楚为什么我只需要检查 i 直到 n 的 sqrt。
基本上我希望代码行以某种方式打印出来
2 3 5 7 11 13 17 19 23 29
然后跳到下一行继续
etc etc etc
使用方法是最有效的方法吗?我试图避免它,因为方法是最近才引入的。
【问题讨论】:
-
为什么要打印
i?您确定要打印n?然后,只有在所有可分性测试都失败的情况下。 -
我已在its duplicate as marked here 下将an answer 发布到此问题。