自定义了一个方法 card(int rank,int suit)
建立一个card的数组,排序之后,想输出一个,但是用Arrays.toString(int[])转换时,却不成功,有没有什么办法解决一下。
在学习java时遇到这样一个问题,希望可以解答一下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-02 20:57关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是由于
int[]和String类型的转换导致的。Arrays.toString()函数将对象序列化为字符串,但它不支持非字节流格式的数据类型,例如int或String。如果你想要以某种方式返回卡牌信息,你可以考虑使用其他数据结构,例如
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); } } }在这个例子中,我们首先创建了一个包含不同卡牌的信息的列表,并且为每个卡牌分配了名称和数值。然后,我们将这些卡牌按照它们的数值进行排序。最后,我们遍历这个列表并打印出所有卡牌的信息。
请注意,这只是一个基本的例子,你可能需要根据你的具体需求进行调整。
解决 无用评论 打赏 举报