计算总枚举值Java



我正在构建一个纸牌游戏。我有一个名为Card的类,它包含等级和套装的枚举类。

等级包括二(2)、三(3)、四(4)、五(5)、六(6)等

我还有一个名为Hand的类,它包含一个Card类型的数组列表。我需要能够将牌的总价值存储在手中。例如,一只包含梅花3、钻石5和红心王牌的手牌需要等于19(3+5+11)。

我该如何用Java写这篇文章?

假设:

enum Card {
        TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6);
        private final int value;
        private Card(int value) {
            this.value = value;
        }
        public int getValue() {
            return value;
        }
}

在java 8:中

List<Card> cards = ....;
cards.stream().mapToInt(Card::getValue).sum();

建议:

  • 为您的枚举指定一个public int getValue()方法,该方法返回int value属性(或您为该属性指定的任何名称)所持有的值
  • 在Hand类的getValueSum()(或您称之为此方法的任何方法)中,迭代手的ArrayList<Card>,通过调用此方法求和值

相关内容

  • 没有找到相关文章

最新更新