zhiweicoding 2014-10-13 14:18 采纳率: 0%
浏览 632

在学习java时遇到这样一个问题,希望可以解答一下

自定义了一个方法 card(int rank,int suit)
建立一个card的数组,排序之后,想输出一个,但是用Arrays.toString(int[])转换时,却不成功,有没有什么办法解决一下。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 20:57
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于int[]String类型的转换导致的。Arrays.toString()函数将对象序列化为字符串,但它不支持非字节流格式的数据类型,例如intString

    如果你想要以某种方式返回卡牌信息,你可以考虑使用其他数据结构,例如Map<String, Integer>来存储卡牌的名称及其对应的数字值。然后,你可以遍历这个映射并打印出所有的卡牌。

    以下是一个简单的示例:

    import java.util.*;
    
    public class Card {
        private String name;
        private int value;
    
        public Card(String name, int value) {
            this.name = name;
            this.value = value;
        }
    
        @Override
        public String toString() {
            return name + " (" + value + ")";
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            List<Card> cards = new ArrayList<>();
            cards.add(new Card("Ace", 1));
            cards.add(new Card("2", 2));
            cards.add(new Card("3", 3));
            cards.add(new Card("4", 4));
            cards.add(new Card("5", 5));
            cards.add(new Card("6", 6));
            cards.add(new Card("7", 7));
            cards.add(new Card("8", 8));
            cards.add(new Card("9", 9));
            cards.add(new Card("10", 10));
            cards.add(new Card("Jack", 11));
            cards.add(new Card("Queen", 12));
            cards.add(new Card("King", 13));
    
            Collections.sort(cards);
    
            for (Card card : cards) {
                System.out.println(card);
            }
        }
    }
    

    在这个例子中,我们首先创建了一个包含不同卡牌的信息的列表,并且为每个卡牌分配了名称和数值。然后,我们将这些卡牌按照它们的数值进行排序。最后,我们遍历这个列表并打印出所有卡牌的信息。

    请注意,这只是一个基本的例子,你可能需要根据你的具体需求进行调整。

    评论

报告相同问题?