黑马程序员技术交流社区

标题: 一个简单的代码,就是不知道那里错了。 [打印本页]

作者: 张浮生    时间: 2015-5-14 12:11
标题: 一个简单的代码,就是不知道那里错了。
  1. class Su
  2. {
  3. public static void main(String[] args)
  4. {
  5. System.out.print("100 以内的所有素数:\n");
  6. for(int i=2;i<=100;i++)
  7. if(isPrime(i)) System.out.print(i+"\t");       
  8. }
  9. void Boolean isPrime(int n)
  10. {
  11. if(n==2) return true;
  12. else if(n%2==0) return false;
  13. else
  14. {
  15. int j=(int)sqrt(n);
  16. for(int i=2;i<=j;i++)
  17. {
  18. if(n%i==0) return false;
  19. if(i>j) return true;
  20. }
  21. }
  22. }
复制代码
编译提示: Su.java:9: 需要 '('
                      void Boolean isPrime(int n)
                                   ^
1 错误


作者: sxsxsx    时间: 2015-5-14 12:29
  void Boolean isPrime(int n)这是个方法,看你上面调用这个方法,取了它的返回值,方法前面加了void,说明这个方法没有返回值,Boolean是布尔类型的对象,写在一起肯定是错的。你要返回布尔类型的值,用boolean就行。
作者: 张浮生    时间: 2015-5-14 12:31
sxsxsx 发表于 2015-5-14 12:29
void Boolean isPrime(int n)这是个方法,看你上面调用这个方法,取了它的返回值,方法前面加了void,说 ...

谢谢你的回答,懂了。
作者: 痲ボㄋ.    时间: 2015-5-14 12:32
boolean isPrime(int n)就好了
作者: 张浮生    时间: 2015-5-14 12:38
痲ボㄋ. 发表于 2015-5-14 12:32
boolean isPrime(int n)就好了

嗯,懂了是void的原因,调试成功了。
作者: brouse    时间: 2015-5-14 18:00
boolean isPrime(int n),void和boolean重复了
作者: zhangjnia    时间: 2015-5-14 18:40
void与boolean只能存在一个
作者: Cat    时间: 2015-5-14 19:00
学习一下~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2