A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨兴庭 于 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)

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

6 个回复

倒序浏览
你在当前页面有没有其他类也是带有主方法的,这是有方法和类同名的错误
回复 使用道具 举报
修改后的代码:

  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未被调用

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
解决了,讲得很详细,谢谢!
回复 使用道具 举报
括号出问题了,对应检查下,什么都自己动手检查才会记忆犹新。
回复 使用道具 举报
Candy 发表于 2013-7-19 11:24
括号出问题了,对应检查下,什么都自己动手检查才会记忆犹新。

好的,谢谢!
回复 使用道具 举报
木、易m 发表于 2013-7-19 11:18
你在当前页面有没有其他类也是带有主方法的,这是有方法和类同名的错误

检查出来了,是最后一个括号前少了个括号,谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马