为什么不从列表中删除对象

时间:2019-01-25 15:23:35

标签: java

我的项目有一个错误,其中生成一个随机数,该随机数与另一个数组相关联,而我正尝试从列表中删除与数组中的对象相关联的字符串。 这是代码块:

    public static void Generate() 
{
    for (int i = 0; i < 9;i++)
    {
        CardArr[i] = c.get(((rng.nextInt(c.size()) + 1)-1));
        for(int x = 0; x < i;x++) 
        {
            while(CardArr[i].equals(CardArr[x])) 
            {   
            CardArr[i] = c.get(((rng.nextInt(c.size()) + 1)-1));
            }
        }
        System.out.print((i+1) + ") " + CardArr[i] + " ");
        c.remove(CardArr[i]);
    }
}

我希望它能输出9张卡的值,并且希望将每张卡从可用列表中删除。但是,当我运行代码时,这是我收到的控制台:

1) D 3 Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(Unknown Source)
at java.util.AbstractList$Itr.remove(Unknown Source)
at java.util.AbstractCollection.remove(Unknown Source)
at Game.Generate(Game.java:64)
at Game.start(Game.java:39)
at Game.main(Game.java:29)

这是定义变量的地方:

public static String[] CardArr = new String[9];

public static String [] AllCards = {“ D Ace”,“ C Ace”,“ H Ace”,“ S Ace”,“ D 2”,“ C 2”,“ H 2”,“ S 2” ,“ D 3”,“ C 3”,“ H 3”,“ S 3”,“ D 4”,“ C 4”,“ H 4”,“ S 4”,“ D 5”,“ C 5” ,“ H 5”,“ S 5”,“ D 6”,“ C 6”,“ H 6”,“ S 6”,“ D 7”,“ C 7”,“ H 7”,“ S 7” ,“ D 8”,“ C 8”,“ H 8”,“ S 8”,“ D 9”,“ C 9”,“ H 9”,“ S 9”,“ D 10”,“ C 10” ,“ H 10”,“ S 10”}; 公共静态列表c = Arrays.asList(AllCards);

0 个答案:

没有答案