这是我的第一个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之间的总数,但我相信我可以自己编写该部分。谢谢。
答案 0 :(得分:2)
您正在尝试将Die
对象添加到整数。
也许你想要
total += dieArray[i].getFaceValue ();
答案 1 :(得分:0)
无论你在做什么
total += dieArray[i];
把
total += dieArray[i].getFaceValue();
我认为您的问题是您正在尝试将类型Die添加到int。