在主函数内调用时,程序终止 我是java编程新手,我用C和C++编程,但是最近已经移动到java,所以我对java的事情有点困惑。我正在调用main中的一个函数,但是程序被终止了,我不知道它为什么会发生,也弄不明白它是怎么回事。这是我的节目 package Prime; import java.util.Scanner; public class isprime { public static boolean isPrime (int n) { int flag=0; for (int i=2;i<=n;i++) { if(i%n==0) { flag=1; } } if(flag==1) { return false; } else { return true; } } public static void main(String[] args) { int n; System.out.println("Please enter a number you want to test"); Scanner sc = new Scanner(System.in); sc.close(); isPrime(n); } n = sc.nextInt(); } 包素数; 导入java.util.Scanner; 公共类优先权 { 公共静态布尔iPrime(int n) { int标志=0; 对于(int i=2;i
您的在主函数内调用时,程序终止 我是java编程新手,我用C和C++编程,但是最近已经移动到java,所以我对java的事情有点困惑。我正在调用main中的一个函数,但是程序被终止了,我不知道它为什么会发生,也弄不明白它是怎么回事。这是我的节目 package Prime; import java.util.Scanner; public class isprime { public static boolean isPrime (int n) { int flag=0; for (int i=2;i<=n;i++) { if(i%n==0) { flag=1; } } if(flag==1) { return false; } else { return true; } } public static void main(String[] args) { int n; System.out.println("Please enter a number you want to test"); Scanner sc = new Scanner(System.in); sc.close(); isPrime(n); } n = sc.nextInt(); } 包素数; 导入java.util.Scanner; 公共类优先权 { 公共静态布尔iPrime(int n) { int标志=0; 对于(int i=2;i,java,call,Java,Call,您的n=sc.nextInt();超出了main()函数的范围。此外,您首先要关闭扫描仪 您调用了isPrime(n);它返回boolean,但未捕获返回值 您希望执行以下操作: public static void main(String[] args) { int n; System.out.println("Please enter a number you want to test"); Scanner sc = new Scanner(System.in);
n=sc.nextInt();
超出了main()
函数的范围。此外,您首先要关闭扫描仪
isPrime(n);
它返回boolean
,但未捕获返回值
public static void main(String[] args) {
int n;
System.out.println("Please enter a number you want to test");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
if (isPrime(n)) {
System.out.println("prime");
} else {
System.out.println("not prime");
}
sc.close();
}
最后,你的素数计算是错误的。素数本身是可以整除的,所以请更改
for (int i=2;i<=n;i++)
for(int i=2;iwhyn=sc.nextInt();
不在main()
?public static boolean isPrime(int n)的范围内
为什么布尔方法要取整数?因为我必须返回true或false,因为n
的赋值不属于任何方法。rakeb.mazhual在我的程序中,但这个网站上的编辑器把它搞糟了
for (int i=2;i < n;i++)
^^^