gpt4 book ai didi

java - 使用循环 for 将内容添加到 linkedList java

转载 作者:行者123 更新时间:2023-12-01 19:19:45 25 4
gpt4 key购买 nike

我有这个脚本,但我无法增加

    LinkedList<Card> deckOfCards = new LinkedList<Card>();

for (int count = 0; count < deckOfCards.size(); count++) {
deckOfCards[count].add(new Card(Rank.values()[count % 13].toString(),Suit.values()[count / 13].toString(), number[count % 13],Image[count % 52]));

}

我在 DeckOfCards[count] 上遇到错误,所以我怀疑我该如何做到这一点(表达式的类型必须是数组类型,但解析为LinkedList)

我之前的代码是一个数组,并且可以工作

deckOfCards = new Card[number_cards];

for (int count = 0; count < deckOfCards.length; count++) {
deckOfCards[count] = new Card(Rank.values()[count % 13].toString(),Suit.values()[count / 13].toString(), number[count % 13],Image[count % 52]);
}
}


//suppose to get na name, value of card, but the result is [null, null, null, etc]
public Card[] giveCardPlayer1() {

String name1 = Arrays.toString(deckOfCards);
nameF = name1;
String suit_1 = deckOfCards.toString();
suit1 = suit_1;
return deckOfCards;

}


public int totalValuePlayer1() {
return currentTotal1;
}

public String name1() {
return nameF;
}

public String suit_1() {
return suit1;
}

谢谢!!!

最佳答案

只需调用 deckOfCards.add(...) .

您无法索引 Java List和数组一样。你必须使用它的 add() 方法代替。这会将指定的元素附加到列表的末尾。

还有another add() method这需要 int index范围。但是,由于列表的大小不固定,因此不能直接通过调用 deckOfCards.add(count, new Card(...)) 来设置列表的第 n 元素。 - 你需要首先确保指定的元素存在于列表中,否则你会得到 IndexOutOfBoundsException 。还值得一提的是,对于任何大小不小的列表,通过索引访问链表都是一个缓慢的操作(与 ArrayList 相比)。

更新

啊,你还需要修复你的循环不变式。当前版本

for (int count = 0; count < deckOfCards.size(); count++) { ...

永远不会执行循环体,因为列表的初始大小为 0。将其更改为

for (int count = 0; count < number_cards; count++) { ...

关于java - 使用循环 for 将内容添加到 linkedList java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com