首页 > 解决方案 > 我制作了一个简单的 java 程序来创建一组卡片(一副牌),然后在其中搜索一张特定的卡片

问题描述

在这里,“cards”是对象的数组,而应该存在于数组中的 tcard(钻石杰克)是我需要搜索的卡片。但是,该函数始终返回值 -1。

public class Card 
{
    private int rank;
    private int suit;
    public static Card[] cards;
    public Card(int rank, int suit) 
    {
        this.rank = rank;
        this.suit = suit;
    }
    public String toString() {
        String[] ranks = {null, "Ace", "2", "3", "4", "5", "6",
                   "7", "8", "9", "10", "Jack", "Queen", "King"};
        String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};
        String s = ranks[this.rank] + " of " + suits[this.suit];
        return s;
    }
    public static void createDeck()
    {
        cards=new Card[52];
        int in1=0;
        for (int s1 = 0; s1<= 3; s1++) {
            for (int r1 = 1; r1<= 13; r1++) {
                cards[in1] = new Card(r1, s1);
                in1++;
            }
        }
    }
    public static int search(Card[] scards, Card target) {
        for (int i = 0; i < scards.length; i++) {
            if (scards[i].equals(target)) {
                return i;
            }
        }
        return -1;
    }
    
    public static void main(String args[])
    {
        createDeck();
        Card tcard=new Card(11,1);
        int n1=search(cards,tcard);
        System.out.println(n1);
    }
}

标签: java

解决方案


推荐阅读