Java求素数时出现错误
1、具体错误如下
No enclosing instance of type Prime is accessible. Must qualify the allocation with an enclosing instance of type Prime (e.g. x.new A() where x is an instance
of Prime).
2、错误原因
class PrimNumber
{
public boolean isPrim(int a)
{
for(int i=1;i<a/2;i++)
if(a%i == 0)
return false;
return true;
}
}
在Java中,类中的静态方法不能直接调用动态方法。
只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。
3、解决办法
public static class PrimNumber
{
public boolean isPrim(int a)
{
for(int i=1;i<a/2;i++)
if(a%i == 0)
return false;
return true;
}
}
在类名前加上“public static”