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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱成 中级黑马   /  2012-6-15 09:03  /  1785 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Method{
     public int add(int shouSu,int weiSu){
           /*
                   public void Suan(){}      错
          */
           int geSu=weiSu;
           int he=(shouSu+weiSu)*geSu/2;
           return he;           
     }
}
为什么是错误的啊

5 个回复

正序浏览
java中不可以在方法中再定义方法
回复 使用道具 举报
在java中,在方法的内部是不能再定义方法的
回复 使用道具 举报
在java中 方法之间的调用可以通过设置static方法。但是不可以在方法中再定义方法。这是不允许的。你上边的代码只要把错误的那个方法
再定义出来就好了。代码如下:

public class Method{
      public int add(int shouSu,int weiSu){
            /*
                    public void Suan(){}      错
          */

            Suan();//这样调用下面的static方法就可以了
            int geSu=weiSu;
            int he=(shouSu+weiSu)*geSu/2;
            return he;           
      }
}

public static void Suan(){}
回复 使用道具 举报
你犯了一个典型的错误,Java中函数不能嵌套。你在函数add()里又定义了一个Suan()函数,这在java里是不允许的。但是在java中可以类嵌套,或者类里定义函数。也就是类里可以再定义类或者函数
回复 使用道具 举报
  在Java中,方法是定义在类中的   你是在方法中又定义了方法   这种情况在Java中不支持   但是在C中,可以定义嵌套的函数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马