【问题标题】:Print Out Every Combination of 2 Array Lists打印出 2 个数组列表的每个组合
【发布时间】:2017-11-22 02:20:02
【问题描述】:

我正在尝试打印出下面两个数组的每个组合,但没有运气。我听说您可以将两个列表合并为一个并这样做,但我们应该使用嵌套循环来做到这一点。它也应该按照显示的确切顺序排列,这让我有点困惑。有什么建议吗?

预期的输出是:

  • 2 个俱乐部
  • 3 个俱乐部
  • 4 个俱乐部
  • 5 个俱乐部
  • 等等……

public class DeckPrinter { private ArrayList<String> cards; private ArrayList<String> suits; public DeckPrinter(){ cards = new ArrayList<>(); suits = new ArrayList<>(); cards.add("2"); cards.add("3"); cards.add("4"); cards.add("5"); cards.add("6"); cards.add("7"); cards.add("8"); cards.add("9"); cards.add("10"); cards.add("Jack"); cards.add("Queen"); cards.add("King"); cards.add("Ace"); suits.add("Clubs"); suits.add("Diamonds"); suits.add("Hearts"); suits.add("Spades"); } public String getCards(){ return cards.toString(); } public String getSuits(){ return suits.toString(); } public void printDeck(){ int i, j; for(i = 0; i < cards.size(); i++){ for(j = 0; j < suits.size(); j++){ System.out.println(cards.get(i) + " of " + suits.get(j)); } } } }

【问题讨论】:

  • 重新排列你的循环...迭代套装然后卡片

标签: java arrays arraylist


【解决方案1】:
for(i = 0; i < suits.size(); i++) {
    for(j = 0; j < cards.size(); j++) {
            System.out.println(cards.get(j) + " of " + suits.get(i));
        }
    }
}

【讨论】:

    【解决方案2】:

    只需更改代码中“for”的顺序即可。

    【讨论】:

    • 你可以通过更具体一点来改进这个答案。重新排序到什么?类似于“将引用 cardsfor 行切换为引用 suits 的行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多