【发布时间】:2013-09-12 17:41:48
【问题描述】:
编写一个程序,提示用户输入一个整数,然后打印出直到该整数的所有素数。例如,当用户输入 20 时,程序应该打印
2 3 5 7 11 13 17 19
回想一下,如果一个数不能被除 1 和它自己之外的任何数整除,那么它就是质数。
我正在尝试编写这个程序,但我遇到了困难,谁能告诉我如何编写这个代码? 这是我写的,但完全错误。
import java.util.Scanner;
public class PrimeNumbers
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter Integers: ");
int x;
int n = in.nextInt();
for (int i = 2; i < n ; i++)
{
x = i;
if (n % i != 0 && i % x != 0)
{
System.out.println(i);
}
x--;
}
}
}
【问题讨论】:
-
你试过什么?现在打印出来的是什么?你有写一些伪代码吗?您尝试实施的逻辑存在差距。如果您愿意,我们可以讨论。
-
“x”是干什么用的?
-
也许尝试在调试器中单步执行程序,看看发生了什么?
-
@blgt 谷歌搜索预先编写的示例并不能帮助 OP 理解为什么他们的代码不起作用。
-
@Alex 都不会在没有做任何研究的情况下寻求帮助
标签: java loops while-loop