将方法传递给变量

时间:2016-04-09 23:48:32

标签: java methods

我正在做一个简单的活动,首先会生成2张随机卡片。现在我已经有了card1的方法,但是我想将这个方法复制到card2而不复制它。有没有办法可以重用某种方法? 这是方法:

            public static void Cards_Match(){
                 if(c1 >= 0 && c1 <=3)
                     {
                        card_rank = cards[0];

                     }
                 else if(c1 >= 4 && c1 <=7)
                     {
                        card_rank = cards[1];
                     }
                 else if(c1 >= 8 && c1 <=11)
                     {
                        card_rank = cards[2];
                     }
                 else if(c1 >= 12 && c1 <=15)
                     {
                        card_rank = cards[3];
                     }
                 else if(c1 >= 16 && c1 <=19)
                     {
                        card_rank = cards[4];
                     }
                 else if(c1 >= 20 && c1 <=23)
                     {
                        card_rank = cards[5];
                     }
                 else if(c1 >= 24 && c1 <=27)
                     {
                        card_rank = cards[6];
                     }
                 else if(c1 >= 28 && c1 <=31)
                     {
                        card_rank = cards[7];
                     }
                 else if(c1 >= 32 && c1 <=35)
                     {
                        card_rank = cards[8];
                     }
                 else if(c1 >= 36 && c1 <=39)
                     {
                        card_rank = cards[9];
                     }
                 else if(c1 >= 40 && c1 <=43)
                     {
                        card_rank = cards[10];
                     }
                 else if(c1 >= 44 && c1 <=47)
                     {
                        card_rank = cards[11];
                     }
                 else if(c1 >= 48 && c1 <=51)
                     {
                        card_rank = cards[12];
                     }

                 if(c1 % 4 == 0)
                     {
                        card_suit = suits[0];
                     }

                 else if(c1 % 4 == 1)
                     {
                        card_suit = suits[1];
                     }

                 else if(c1 % 4 == 2)
                     {
                        card_suit = suits[2];
                     }

                 else if(c1 % 4 == 3)
                     {
                        card_suit = suits[3];
                     }
            System.out.println("Your 1st card is: " +card_rank +" of " +card_suit);
            System.out.println("Your 2nd card is: " +card_rank +" of " +card_suit);

1 个答案:

答案 0 :(得分:1)

我假设c1和c2是你随机生成的牌。

为了使方法可重用,您需要在参数

中识别变量

实施例。 Cards_Match(这些是参数)

所以,为了基本上&#34;复制&#34;这个方法,你需要调用一个Object或变量(让我们说你的随机卡来自一个Object&#34; RandomCard&#34;)并把它放到你的参数中

public static void Cards_Match(RandomCard card){...}

然后,在您放置c1的地方,请更换参数版本&#34; card&#34;

这允许该方法的可重用性。这样您就可以无任何限制地重复使用此方法。

如果您还有其他问题,请随时提出!