gpt4 book ai didi

java - 为什么我的方法只返回 ArrayList 中存在的重复项之一?

转载 作者:行者123 更新时间:2023-12-01 09:10:17 28 4
gpt4 key购买 nike

我正在用 Java 创建一个扑克游戏,现在我正在尝试在 ArrayList 中找到重复的排名并打印它们。我的ArrayList(卡片)包含[“3c”,“3s”,“Ad”,“6h”,“7h”,“7s”]。当我使用我创建的方法时

String firstChar;

public void twoPair() {
for(String t : cards) {
char rank_index = t.charAt(0);
firstChar = String.valueOf(rank_index);
}
for (String i : cards) {
if (i.startsWith(firstChar)) System.out.println(i);
}
}

我得到的输出:

 7h
7s

同样,如果我添加另一张 7 卡(如 7c),我会得到所有三张 7 卡,

7h
7s
7c

但不是 3 级牌的重复牌(“3c”和“3s”)。完整代码位于https://github.com/aepries/A8-Poker

最佳答案

您需要一个嵌套循环,以其原始形式,它只会检查数组列表中的最后一个条目,即 7,因此您会看到起始字符为 7 的所有元素。

您应该将代码更改为:

for(String t : cards) {
char rank_index = t.charAt(0);//no need to convert to string
for (String i : cards) {
if (!i.equals(t) && i.charAt(0) == rank_index)
System.out.println(i);
}
}

关于java - 为什么我的方法只返回 ArrayList 中存在的重复项之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956142/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com