0
public static boolean prime(int n){
    if(n<=1)
        return false;
    int z=2;
    if(n==2)
        return true;
    while(z<Math.sqrt(n)){
        if(z mod n==0)
            return false;
        z++;
    }
    return true;
}

私のコードの何が問題なのか手がかりはありますか? 「クラス、インターフェース、または列挙型」の 7 つのエラーを受け取りました...

4

3 に答える 3

4

スタンドアロンコードを実行することはできません。すべてがクラス、インターフェイス、または列挙型に存在する必要があります。

これはクラス内に住む必要があります。これは、というファイルに含まれている必要がありますMyClass.java

例えば

public class MyClass {

   public static boolean prime(int n){
       if(n<=1)
           return false;
       int z=2;
       if(n==2)
           return true;
       while(z<Math.sqrt(n)){
          if(z mod n==0)
              return false;
          z++;
       }
   return true;

   }  

}

その後、実行することで呼び出すことができますMyClass.prime(7);

他の人が述べているように、modも無効なキーワードであり、%演算子に置き換える必要があります

于 2013-02-28T14:47:39.443 に答える
2

これがすべてのコードである場合は、エラーが示すように、コードをで囲む必要がありclassます:)

次に、modJavaにはキーワードがなく、。に置き換え%ます。2つをまとめる:

public class MyPrimeTest {

    public static void main(String[] args) {
        boolean primeCheck = prime(43);
        ...
    }

    public static boolean prime(int n) {
        if (n <= 1) {
            return false;
        }
        int z = 2;
        if (n == 2) {
            return true;
        }
        while (z < Math.sqrt(n)) {
            if (z % n == 0) {
                return false;
            }
            z++;
        }

        return true;
    }
}
于 2013-02-28T14:47:05.713 に答える
0

「クラス、インターフェイス、または列挙型が必要です」というエラーは、主に {} 中かっこがないために発生します。プログラムをよく確認してください。

上記がすべてのコードである場合は、クラス内にカプセル化する必要があります。こちらも忘れずに書きましょうmain()

Java には「mod」キーワードはありません。代わりに「%」を使用してください。

import java.util.*;

class Prime
{

public ...........main(.... args[])

{
//accept integer

if(prime(n))//calling prime()
..
}

そしてあなたの方法..乾杯!

于 2013-02-28T15:16:55.913 に答える