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

如果这是您的所有代码,则需要将其括在 aclass中,如错误所示:)

其次,Java中没有mod关键字,替换为%. 将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 回答