-3

私はJavaコーディングが初めてです。main値が素数かどうかを判断するメソッドと自分のメソッドをリンクする方法を見つけるのに苦労しています。以下のコードをEclipseで実行すると、メソッドがまったく実行されないようです。誰かが私が間違ったことを知っていますか?

また、最後の部分ではSystem.out、入力値が素数であるかどうかを出力することを考えていました。つまりtrue、またはfalse大丈夫でしょう。

import java.util.*;

class IsPrime {
    public boolean isprime(int n) {
        Scanner input1= new Scanner(System.in);
        System.out.println("input single integer?");

        int n1 = input1.nextInt();

        int i,c=0;

        for(i=1;i<=n1;i++) {
            if(n1%i==0){
                c++;
            }
        }
        if(c==2) {
            return true;
        } else {
            return false;  
        }
        System.out.println("Your number is:")
    }
}
4

4 に答える 4

2

まず、Strawberry と appclay の言うことは正しいです。

一方、あなたのメソッドisprimeはインスタンスメソッドですが、あなたmain(メインクラスのメソッドについて話していると思います)はクラス(静的)メソッドです。

次のことを試してください。

public static void main(String[] args) {
    int possiblePrime = // initialise your parameter
    IsPrime isPrime = new IsPrime();
    boolean primeOrNot = isPrime.isprime(possiblePrime);
    System.out.println("Your number is prime: " + primeOrNot);
}
于 2012-04-04T23:36:37.563 に答える
2

この線

   System.out.println("Your number is:") 

あなたが持っているので到達できません

else {
return false;
}

その前に。

于 2012-04-04T23:32:23.023 に答える
0

メソッドを静的に変更すると、そのクラスのインスタンスを作成せずにメソッドを参照できます

public static boolean isprime(int n) {
于 2012-04-05T00:52:46.217 に答える
0

あなたが探しているものを理解している場合は、 isprime メソッドを実装し、それをメインで呼び出します。

class IsPrime {
    public boolean isPrime(int n) {
        int i,c=0;

        for(i=1;i<=n;i++) {
            if(n%i==0){
                c++;
            }
        }
        if(c==2) {
            return true;
        } else {
            return false;  
        }
    }
    public static void main(String[] args) {
        Scanner input1= new Scanner(System.in);
        System.out.println("input single integer?");

        int n = input1.nextInt();
        IsPrime isPrime = new IsPrime();
        System.out.println("Your number is prime: " + isPrime.isPrime(n));
    }
}

それはあなたがやりたいことをするはずです。ただし、コードにバグがあります。あなたが持っているものは、素数だけでなくすべての数に対してtrueを返します。バグと修正を見つけるのはあなたに任せます。

編集: バグはありません。以下のコメントを参照してください。

于 2012-04-04T23:39:17.137 に答える