迭代器next()有点麻烦.似乎无法让它正常工作.我一直在研究这段代码,所以我觉得另一组眼睛会有所帮助.
这是我的deck类,它创建了一个Card对象列表,我正在尝试创建一个方法来从第一个中获取列表中的下一个Card:
package blackjack;
import blackjack.Card.Rank;
import blackjack.Card.Suit;
import java.util.*;
public class Deck {
public ArrayList<Card> cards = new ArrayList<>();
int i;
Card next;
public Deck() {
initializeDeck();
}
public void printDeck() {
for (Card c: cards)
System.out.println(c);
}
private void initializeDeck() {
for (Suit suit : Suit.values()) {
for (Rank rank : Rank.values()) {
cards.add(new Card(rank, suit));
}
}
}
public Card getNextCard() {
if (cards.listIterator().hasNext() != true) {
getNextCard();
}
else {
next = cards.listIterator().next();
}
return next; …Run Code Online (Sandbox Code Playgroud) 有人可以向我解释一下.
public int bunnyEars(int bunnies) {
if(bunnies == 0) {
return 0;
}
return 2 + bunnyEars(bunnies - 1);
}
Run Code Online (Sandbox Code Playgroud)
在我看来,如果兔子等于2答案将是3而不是4.尽管我知道答案应该是4.