java - 我的 Java 纸牌游戏出现问题

标签 java

这是我的代码,我的问题是我的交易方法,如何让它在每次调用它时将 增加到不同的数字以及如何创建 boolean 方法。这是我的代码,我的问题是我的交易方法,如何让它在每次调用它时将 增加到不同的数字以及如何创建 boolean 方法。

package Card;

import java.util.Random;

/**
*
* @author Mr. Pierre
*/

public class Card {

    private int SuitRank;
    private int CardRank;
    private String cardValue;

    //My constructor
    public Card()
    {
        SuitRank=1;
        CardRank=2;
    }

    //My deal method
    void dealCard()
    {   
        SuitRank++;

        Random randomGenerator = new Random();
        int SuitRank = randomGenerator.nextInt(4)+1;

        CardRank++;

        Random randomGenerator1 = new Random();
        int CardRank= randomGenerator1.nextInt(13)+2;
    }

    //My compare method
    public int compare(Card otherCard)
    {
        if (otherCard.getCardRank() > CardRank)
            return  1;

        if (otherCard.getCardRank() == CardRank)
        {
            if (otherCard.getSuitRank() > SuitRank)
                return 1;
            if (otherCard.getSuitRank()< SuitRank)
            return -1;
            if (otherCard.getSuitRank()==SuitRank)
                return 0;
        }

        if (otherCard.getCardRank() < CardRank)
            return  -1;

        return CardRank;
    }

    //my Get suitrank method
    public int getSuitRank()
    {
        SuitRank++;
        return SuitRank;
    }

    public String  getSuitName ()    
    {
        String SuitName="";
        if( SuitRank == 1){
            SuitName = "Clubs";
        }
        else if(SuitRank == 2){
            SuitName = "Diamonds";
        }
        else if(SuitRank == 3){
            SuitName = "Hearts";
        }
        else if(SuitRank == 4){
            SuitName = "Spades";
        }

        return SuitName;
    }

    public int getCardRank ()
    {
        return CardRank;
    }

    public String getCardName ()
    {
        String CardName="";
        if(CardRank==2){
            CardName="Duce";
        }
        else if(CardRank==3){
            CardName="Three";
        }
        else if(CardRank==3){
            CardName="Three";
        }
        else if(CardRank==4){
            CardName="Four";
        }
        else if(CardRank==5){
            CardName="Five";
        }
        else if(CardRank==6){
            CardName="Six";
        }
        else if(CardRank==7){
            CardName="Seven";
        }
        else if(CardRank==8){
            CardName="Eight";
        }
        else if(CardRank==9){
            CardName="Nine";
        }
        else if(CardRank==10){
            CardName="Ten";
        }
        else if(CardRank==11){
            CardName="Jack";
        }
        else if(CardRank==12){
            CardName="Queen";
        }
        else if(CardRank==13){
            CardName="King";
        }
        else if(CardRank==14){
            CardName="Ace";
        }

        return CardName;
    }

    public String  toString()
    {
        return getCardName()+ " of " +getSuitName();
    }  
}

最佳答案

int SuitRank = randomGenerator.nextInt(4)+1;

int 意味着您正在创建一个局部变量,而不是修改一个类成员。另外,如果您打算立即将 SuitRank 设置为随机值,为什么还要调用 SuitRank++ 呢?这同样适用于 CardRank

至于 boolean 方法 - 它只是public Boolean method(...)

关于java - 我的 Java 纸牌游戏出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553291/

相关文章:

java - 如何从我的 Android 设备获取未读短信/未接来电?

java - 通过 XPath 中的 xmlns 识别 XML

java - 如何让 HttpAsyncClient 异步操作?

java - String.split() 不作用于分号或空格定界符

java - phonegap 的 activity.java 错误

java - VAVR Match(Option).of() 无法正常工作

java - 如何在拖动组件时获取组件的x位置?

java - Groovy 类加载器不会加载 Java 类

java - 我的 JVM 内存泄漏在哪里?垃圾收集器工作正常吗?

java - 重构这个简单方法的最有效方法是什么?