首页 > 解决方案 > 数一手花色的数量

问题描述

这是一个作业问题,我试图在网上搜索,但似乎没有其他人在这样做。鉴于以下情况,每一行代表一手牌:

SQ S7 S4 HT H9 DQ D7 D6 CT CA C8 C7 C2
ST SJ S2 HK HJ HA H7 H5 H4 H3 DJ D2 C6
SK S8 S6 S5 H2 DK DA D9 D8 D4 CQ C9 C3
SA S9 S3 HQ H8 H6 DT D5 D3 CK CJ C5 C4

我需要计算每行中黑桃、红心、方块和梅花的数量。在我的程序中,我有一个 Suit 和 Rank 枚举类,它是一个 Card 对象,构造并存储在 ArrayList 中。最终结果应如下所示:

SQ S7 S4 HT H9 DQ D7 D6 CT CA C8 C7 C2
3 2 3 5
ST SJ S2 HK HJ HA H7 H5 H4 H3 DJ D2 C6
3 7 2 1
SK S8 S6 S5 H2 DK DA D9 D8 D4 CQ C9 C3
4 1 5 3
SA S9 S3 HQ H8 H6 DT D5 D3 CK CJ C5 C4
3 3 3 4

该作业希望我们探索使用 MyInt 类来查找(或者我相信,存储)数字:

class MyInt
{
   private int n;

   public int getInt()
   {
       return n;
   }

   public void setInt(int n)
   {
       this.n = n;
   }
}

handInfo 方法在 main 方法中,我相信我应该在这里填写以计算每行的花色数:

private static void handInfo(String [] aHand, MyInt s, MyInt h, MyInt d, MyInt c)
{
    // count of suit per row here?
}

如果我考虑一下,我很可能需要计算每张牌的字母来计算花色的数量。我不知道从哪里开始。我也对名为 aHand 的数组的用途感到困惑。

将不胜感激一些指导或帮助。

谢谢你。

标签: javaoop

解决方案


SQ S7 S4 HT H9 DQ D7 D6 CT CA C8 C7 C2

我需要计算每行中黑桃、红心、方块和梅花的数量。

所以你只需要找出给定字符串中“S”、“H”、“D”和“C”的数量。

简单的方法是对字符串中的所有字符进行交互。如果是“S”,则增加黑桃数,如果是“H”,则增加红心数等。


推荐阅读