当前位置: 首页 > 知识库问答 >
问题:

Arraylist,不可比类型:DieClass和int

汪建白
2023-03-14

该程序使用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++;
        }
    }
}

}

共有1个答案

衡建中
2023-03-14

您的问题是您正在将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
}
 类似资料:
  • 问题内容: 下面的行给我错误: 是什么原因? 编辑 我知道如果我将第二个ArrayList更改为List,它不会给我错误。我想知道错误的原因。谢谢 问题答案: 如果您有一个,则可以向其中添加一个。但您不能这样做,因此后者可能不是的一种。

  • 本文向大家介绍Python的可变类型和不可变类型?相关面试题,主要包含被问及Python的可变类型和不可变类型?时的应答技巧和注意事项,需要的朋友参考一下 可变数据类型:列表、字典、可变集合 不可变数据类型:数字、字符串、元组、不可变集合    

  • 问题内容: 我了解这是作为双重链接列表实现的。它在add和remove上的性能优于,但在get和set方法上却较差。 这是否意味着我应该选择在插入? 我写了一个小测试,发现插入速度更快。那如何链表比? 请参考下面的示例。 问题答案: Linkedlist确实在插入时速度更快,问题出在您的示例中。在您的代码中,您一直都需要附加到末尾。对于ArrayList,它与LinkedList一样容易。您应该做

  • 问题内容: 我对什么是不可变类型感到困惑。我知道该float对象被认为是不可变的,在我的书中有这样的例子: 由于类的结构/层次结构,这是否被认为是不可变的?意思float是在类的顶部,是它自己的方法调用。类似于此类示例(即使我的书说的dict是可变的): 可变的东西在类内部具有方法,例如以下类型: 另外,对于最后一个,如果我将这种类型的set传递给它: 不调用该example方法,它返回一个字典。

  • 问题内容: 我得到的错误就在这行 。 该怎么办?其他逻辑还可以吗? 我想做的是有一个A列表和一个B列表,其中一个属性与id相同;尽管变量名不同。即在和在B。现在我将两个列表都放在ListAll中,并在相同的变量id / bid上对它们进行排序。我有A和B实现可比性。 和我的listAll是对象类型? 我该怎么做?谢谢。 问题答案: 您可以添加一个通用基类并在那里进行比较,如下所示:

  • 本文向大家介绍浅谈Arrays.asList() 和ArrayList类型区别,包括了浅谈Arrays.asList() 和ArrayList类型区别的使用技巧和注意事项,需要的朋友参考一下 <pre name="code" class="html"><pre name="code" class="html">Arrays.asList() 将一个数组转化为一个List对象,这个方法会返回一个Ar