java - 将方法传递给变量

标签 java methods

我正在做一个简单的 Activity ,首先会生成 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);

最佳答案

我假设 c1 和 c2 是您随机生成的卡片。

为了使方法可重用,您需要识别参数中的变量

例如。 Cards_Match(这些是参数)

因此,为了本质上“复制”该方法,您需要调用一个对象或变量(假设您的随机卡来自对象“RandomCard”)并将其放入您的参数中

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

然后,将 c1 所在的位置替换为参数版本“card”

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

如果您还有任何疑问,请尽管提问!

关于java - 将方法传递给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524114/

相关文章:

java - java.awt.Component.getName() 和 setName() 是做什么用的?

Java方法接受带分数并返回 double

methods - 具有相同名称和数量但类型不同的 Golang 方法

java - UCanAccess 打开数据库时出现 "User lacks privilege or object not found"错误

java - 生成一个大的字符串列表到控制台

java - Java监视器是否包含实例变量?

java - 在第一个循环后执行 while 循环不正确打印

r - 对 Ops 的通用方法进行分组(针对时间序列)

java - 需要覆盖非抽象类的特定方法

java - 缺少子类的方法实现时的标准异常?