add中的asum没有分配空间。
在for前加上这一句: 
asum = new double[this.item.length];

解决方案 »

  1.   

    private double[] asum = new double[3];
      

  2.   

    zh9625(短笛) 说得对

    asum = new double[item.length];在这可不用this
      

  3.   

    谁说不能用this,我都运行通过了
      

  4.   

    在这里可以用也可以不用,不过,如果我将 public test add(test b)
    重写成 public test add(test a,test b),能帮我调试出来吗?谢谢!
    (我没调试过通过)
      

  5.   

    public test add(test a,test b) 改成这样调不通吗? 怎么会呢?
    我试通了,看看合不合你意:
    public test add(test a ,test b){
        asum = new double[a.item.length];
        for (int i=0;i<a.item.length;i++){
          asum[i] = a.item[i]+b.item[i];
        }
        return new test(asum);
    }
    调用:test tc = ta.add(ta,tb);