【发布时间】:2021-07-04 06:48:40
【问题描述】:
我只是想写一个小程序,列出 10 到 1000 之间的所有素数,但它不断报告错误(索引 0 超出长度 0 在 PrimeFinder.main),我不确定我做错了什么。
class PrimeFinder {
static boolean isPrime(int n) {
for (int x=2; x<=(int)Math.sqrt(n); x++) {
if (n%x == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
if (args.length > 0) {
System.out.println("usage: java PrimeFinder <max-range>");
return;
}
int maxRange = Integer.parseInt(args[0]);
for (int i=2; i > 10 && i < 1000; i++) {
if (isPrime(i)) {
System.out.println(i);
}
}
}
}
【问题讨论】:
-
main中的if语句应该是
if (args.length != 1) { ... } -
现在它只打印“usage...”语句,我想知道如何让它列出所有预期的素数。