黑马程序员技术交流社区

标题: 请问下面的语句a.add1(a);为什么错误 [打印本页]

作者: 薛大千    时间: 2015-4-10 22:58
标题: 请问下面的语句a.add1(a);为什么错误
class  SumTest
{
        public  void main(String[] args)
        {Sum a=new Sum(10,1);
        Sum b=new Sum(20,11);
                a.add1(a);
                b.add1(b);
        }
}
class Sum
{private int max;
private int min;

/*public Sum(int max,int min ,Sum a )
        {this.max=max;
    this.min=min;
        this.a=a;
}*/
public Sum( )
        {
}
public Sum(int max,int min )
        {this.max=max;
    this.min=min;
}
        public  static int add1(Sum a)
        { int b=0;
           for (int i=a.min;i<=a.max;i++)
        { b+=i;}
    System.out.println("输出的结果为"+b);
        return b;
        }
}
作者: caotierong    时间: 2015-4-10 23:07
a.max和a.min调用方式错误吧!被私有修饰的成员变量不能直接被调用,应该是这样吧!
作者: thoris    时间: 2015-4-10 23:15
public  void main(String[] args)
不是静态方法。。。
作者: thoris    时间: 2015-4-10 23:20
注释最好加一下   看着略累
作者: liyanghml    时间: 2015-4-11 21:39
主函数  漏掉static  了
作者: 星之钥匙    时间: 2015-4-11 21:56
亲,可以这样写
  1. public class test5 {
  2.         public void main(String[] args) {
  3.                 Sum a = new Sum(10, 1);
  4.                 Sum b = new Sum(20, 11);
  5.                 System.out.println(a.add1());
  6.                 System.out.println(b.add1());
  7.         }
  8. }

  9. class Sum {
  10.         private  int  max;
  11.         private  int min;

  12.         public Sum() {
  13.         }

  14.         public Sum(int max, int min) {
  15.                 this.max = max;
  16.                 this.min = min;
  17.         }

  18.         public  int add1() {
  19.                 int b = 0;
  20.                 for (int i = min; i <= max; i++) {
  21.                         b += i;
  22.                 }
  23.                 System.out.println("输出的结果为" + b);
  24.                 return b;
  25.         }
  26. }
复制代码





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