class Su
{
public static void main(String[] args)
{
System.out.print("100 以内的所有素数:\n");
for(int i=2;i<=100;i++)
if(isPrime(i)) System.out.print(i+"\t");
}
void Boolean isPrime(int n)
{
if(n==2) return true;
else if(n%2==0) return false;
else
{
int j=(int)sqrt(n);
for(int i=2;i<=j;i++)
{
if(n%i==0) return false;
if(i>j) return true;
}
}
}
}
编译提示:
Su.java:9: 需要 '('
void Boolean isPrime(int n)
^
1 错误
{
public static void main(String[] args)
{
System.out.print("100 以内的所有素数:\n");
for(int i=2;i<=100;i++)
if(isPrime(i)) System.out.print(i+"\t");
}
void Boolean isPrime(int n)
{
if(n==2) return true;
else if(n%2==0) return false;
else
{
int j=(int)sqrt(n);
for(int i=2;i<=j;i++)
{
if(n%i==0) return false;
if(i>j) return true;
}
}
}
}
编译提示:
Su.java:9: 需要 '('
void Boolean isPrime(int n)
^
1 错误
应该写成Boolean isPrime(int n),把void去掉就OK了!
这样当然是错的啦,void是不能返回任何 类型的。
if(isPrime(i)) System.out.print(i+"\t"); ^
Su.java:15: 找不到符号
符号: 方法 sqrt(int)
位置: 类 Su
int j=(int)sqrt(n);
^
2 错误
静态方法不能调用动态方法
第二个错误
sqrt方法是怎么来的
Math.sqrt(n);
main()是静态方法isPrime只可以new 一个Su对象后,通过对象来调用
或在void Boolean isPrime(int n) 加static
将isPrime也定义为静态方法
sqrt是Math中的静态方法,用sqrt必须以Math类名引用
另楼主倒数第二个}后面,还要有个return吧楼主不厚道,居然是0分贴