【发布时间】:2013-02-18 02:05:55
【问题描述】:
尝试编写一个“掷”骰子并显示玩家和计算机掷骰结果的程序,以及找出每个数字掷了多少个。比如说,玩家掷出 3 4 3 5 6,那么玩家就有了一场由 2 个 3 组成的比赛。尚未编写显示匹配的代码。
我的问题是我试图将滚动记录到ArrayList,然后比较来自ArrayList 的玩家和计算机滚动的每个数字,并计算每个数字出现的次数,但我保留了它得到 p> 的错误
错误:无法比较的类型:DieClass 和 int
每当我尝试从 ArrayList 进行比较时
有问题的程序使用DieClass类中的方法
import java.util.ArrayList;
public class DieTester
{
private static ArrayList<DieClass> player = new ArrayList<DieClass>();
private static ArrayList<DieClass> computer = new ArrayList<DieClass>();
public static void main(String[] args)
{
for(int a = 1; a <= 5; a++)
{
DieClass roller = new DieClass();
player.add(roller);
}
for(int a = 1; a <= 5; a++)
{
DieClass roller = new DieClass();
computer.add(roller);
}
System.out.println("The user rolls: "+player);
System.out.println("The computer rolls: "+computer);
}
public String findMatching()
{
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;
int count5 = 0;
for(int i=1; i<player.size(); i++)
{
if(player.get(i)==1)
{
count1++;
}
else if(player.get(i)==2)
{
count2++;
}
else if(player.get(i)==3)
{
count3++;
}
else if(player.get(i)==4)
{
count4++;
}
else if(player.get(i)==5)
{
count5++;
}
}
for(int i=1; i<player.size(); i++)
{
if(computer.get(i)==1)
{
count1++;
}
else if(computer.get(i)==2)
{
count2++;
}
else if(computer.get(i)==3)
{
count3++;
}
else if(computer.get(i)==4)
{
count4++;
}
else if(computer.get(i)==5)
{
count5++;
}
}
}
}
【问题讨论】:
-
DieClasses 不会拆箱成整数。如果该类具有
getFace()/getNumber()或任何您必须获取它正在存储的int的方法(如果有),请使用它进行检查。
标签: java methods for-loop arraylist dice