尝试编写一个“滚动”骰子并显示玩家和计算机卷的结果的程序,以及查找每个数字的滚动数量。说,玩家滚动3 4 3 5 6,然后玩家有一个由2 3组成的比赛。尚未编写代码来显示匹配。
我的问题是我正在尝试将滚动记录到ArrayList
,然后比较来自ArrayList
的玩家和计算机滚动的每个数字,并计算每个数字的出现次数,但它一直得到
错误:无法比拟的类型: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++;
}
}
}
}
答案 0 :(得分:0)
您的问题是您正在将DieClass与整数进行比较
if(player.get(i)==1)
对于计数器,为什么不使用int数组?像
int counters [] = new int[6];
counters[2]++;
请发布DieClass,但是,我认为您的代码应该是这样的。
for (DieClass dieClass : player) {
counters[dieClass.getNumber()-1]++; //Supose that DieClass has a getNumber method and set minus one because counters goes from 0 to 5
}