Java 教程中的简单iPrime函数不起作用
System.out.pritnln不打印以下代码中的任何内容: 我是新手,所以我真的不知道问题出在哪里。这对我正在关注的教程中的那个家伙很有用。我正在使用NetBeans IDE 8.2Java 教程中的简单iPrime函数不起作用,java,Java,System.out.pritnln不打印以下代码中的任何内容: 我是新手,所以我真的不知道问题出在哪里。这对我正在关注的教程中的那个家伙很有用。我正在使用NetBeans IDE 8.2 public static void main(String[] args) { int count = 0; for (int i = 10; i < 50; i++) { if (isPrime(i)) { count++;
public static void main(String[] args) {
int count = 0;
for (int i = 10; i < 50; i++) {
if (isPrime(i)) {
count++;
System.out.println("Number " + i + " is a prime number");
if (count == 3) {
System.out.println("Exiting the loop");
break;
}
}
}
}
public static boolean isPrime(int n) {
if (n == 1) {
return false;
}
for (int i = 2; i <= n / 2; i++) {
if (n % 1 == 0) {
return false;
}
}
return true;
}
您的iPrime函数有一个输入错误。
它现在的构造方式总是返回false
你必须更换
if (n % 1 == 0)
与
现在它应该可以工作了。这个函数public static boolean isPrimeint n有问题 在什么条件下:ifn==1这永远是真理 为此,您必须更改为ifn==i:
如果n%1==0,则始终为真。每个整数都可以被1整除…@tkausl add作为答案看起来像是打印错误。应该是n%i==0,就像我说的我是编程新手一样。修好了,谢谢,这是因为isPrime实际上不是prime
if (n % i == 0)
public class Try0 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int count = 0;
for (int i = 10; i < 50; i++) {
if (isPrime(i)) {
count++;
System.out.println("Number " + i + " is a prime number");
if (count == 3) {
System.out.println("Exiting the loop");
break;
}
}
}
}
public static boolean isPrime(int n) {
if (n == 1) {
return false;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
Number 11 is a prime number
Number 13 is a prime number
Number 17 is a prime number
Exiting the loop