operator + =是未定义的Java数组

时间:2015-12-10 04:25:21

标签: java undefined operator-keyword

这是我的第一个Array类,只是制作一个简单的Die数组和数组列表。

public class Die
{
    private int total;
   private final int MAX = 6;  // maximum face value

   private int faceValue;  // current value showing on the die

   //-----------------------------------------------------------------
   //  Constructor: Sets the initial face value.
   //-----------------------------------------------------------------
   public Die()
   {
      faceValue = 1;
   }

   //-----------------------------------------------------------------
   //  Rolls the die and returns the result.
   //-----------------------------------------------------------------
   public int roll()
   {
      faceValue = (int)(Math.random() * MAX) + 1;

      return faceValue;
   }

   //-----------------------------------------------------------------
   //  Face value mutator.
   //-----------------------------------------------------------------
   public void setFaceValue(int value)
   {
      faceValue = value;
   }

   //-----------------------------------------------------------------
   //  Face value accessor.
   //-----------------------------------------------------------------
   public int getFaceValue()
   {
      return faceValue;
   }

   //-----------------------------------------------------------------
   //  Returns a string representation of this die.
   //-----------------------------------------------------------------
   public String toString()
   {
      String result = Integer.toString(faceValue);

      return result;
   }

}

接下来是数组和arraylist我在尝试检索数组总数时遇到问题。

import java.util.ArrayList;

public class ArrayWithDice {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Die dieArray[] = new Die[10];
        ArrayList<Die> set1 = new ArrayList<Die>();


        for(int i=0; i<dieArray.length; i++)
        {
            dieArray[i] = new Die();
        }
        for (int i=0; i<dieArray.length; i++)
        {
            dieArray[i].roll();
            System.out.println(dieArray[i]);
        } 
        int total = 0;
        for(int i=0; i <dieArray.length; i++)
        {
            total += dieArray[i];
        }
        System.out.println("Total: " + total);


        for (int i = 0; i<10; i++)
        {
            set1.add(i, new Die());
        }
        for (int i = 0; i <set1.size(); i++)
        {
            set1.get(i).roll();
        }
        for (int i = 0; i <set1.size(); i++)
        {
            System.out.println(set1.get(i));
        }
        int total1 = 0;
        for(int i=0; i <set1.size(); i++)
        {
            total1 += set1.size();
        }
    }
}

任何人都可以向我解释为什么我收到此错误?除了修改原始类之外,我已经尝试了大多数我能想到的事情,在此之后我将比较数组和arraylist之间的总数,但我相信我可以自己编写该部分。谢谢。

2 个答案:

答案 0 :(得分:2)

您正在尝试将Die对象添加到整数。

也许你想要

total += dieArray[i].getFaceValue ();

答案 1 :(得分:0)

无论你在做什么

total += dieArray[i];

total += dieArray[i].getFaceValue();

我认为您的问题是您正在尝试将类型Die添加到int。