黑马程序员技术交流社区

标题: 代码练习报异常,有人能帮我看看吗? [打印本页]

作者: 深圳在漂移    时间: 2013-7-19 11:07
标题: 代码练习报异常,有人能帮我看看吗?
本帖最后由 杨兴庭 于 2013-7-19 12:01 编辑

  1. public class Exp02 {

  2. public static void main(String[]args){
  3. int i=0;
  4. math mymath=new math();
  5. for(i=2;i<200;i++)
  6. if(mymath.iszhishu(i)==true)
  7. System.out.println(i);

  8. }

  9. }

  10. class math{


  11. public int f(int x){
  12. if(x==1||x==2)
  13. return 1;
  14. else
  15. return f(x-1)+f(x-2);

  16. }
  17. public boolean iszhishu(int x)
  18. {
  19. for(int i=2;i<=x/2;i++)
  20. if(x%2==0)
  21. return false;
  22. return true;






  23. }
复制代码
报的错误时:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at Exp02.main(Exp02.java:4)


作者: 木、易m    时间: 2013-7-19 11:18
你在当前页面有没有其他类也是带有主方法的,这是有方法和类同名的错误
作者: 宋智超    时间: 2013-7-19 11:20
修改后的代码:

  1. <P>public class Exp02 {
  2. public static void main(String[]args){
  3.   int i=0;
  4.   math mymath=new math();
  5.   for(i=2;i<200;i++)
  6.   if(mymath.iszhishu(i)==true)
  7.   System.out.println(i);
  8. }
  9. }</P>
  10. <P>
  11. class math{
  12.   public int f(int x){
  13.    if(x==1||x==2)
  14.    return 1;
  15.    else
  16.    return f(x-1)+f(x-2);
  17.   }
  18.   
  19.   public boolean iszhishu(int x) {
  20.    for(int i=2;i<=x/2;i++)
  21.    if(x%i==0)
  22.    return false;
  23.    return true;
  24.   }
  25. }</P>
  26. <P> </P>
  27. <P> </P>
  28. <P> </P>
复制代码
修改后的结果:

最后一行少了个}
其次,如果楼主是想求质数的话,x应该模i而不是2,如果是2 的话则为打印所有奇数。结果如下:

其次方法f未被调用


作者: 深圳在漂移    时间: 2013-7-19 11:22
解决了,讲得很详细,谢谢!
作者: Candy    时间: 2013-7-19 11:24
括号出问题了,对应检查下,什么都自己动手检查才会记忆犹新。
作者: 深圳在漂移    时间: 2013-7-19 13:23
Candy 发表于 2013-7-19 11:24
括号出问题了,对应检查下,什么都自己动手检查才会记忆犹新。

好的,谢谢!
作者: 深圳在漂移    时间: 2013-7-19 15:42
木、易m 发表于 2013-7-19 11:18
你在当前页面有没有其他类也是带有主方法的,这是有方法和类同名的错误

检查出来了,是最后一个括号前少了个括号,谢谢。




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