[英]Program terminates when called inside main function
我是 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();
}
你的n = sc.nextInt();
超出了main()
函數的范圍。 此外,您要先關閉掃描儀。
你打電話給isPrime(n);
它返回boolean
但您沒有捕獲return
值。
你想做這樣的事情:
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;i < n;i++)
^^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.