gpt4 book ai didi

java - 如何在 java 中测试一个字符串是否等于数组中的任何其他字符串

转载 作者:行者123 更新时间:2023-11-29 06:31:17 28 4
gpt4 key购买 nike

我有一个字符串数组,我想看看这个数组中有多少个不同的字符串。意思是有多少个字符串,不包括重复的字符串。这是我所拥有的:

int strings = 0;
int arrayLength = x.length;

for (int currentNum = 1; currentNum < arrayLength; currentNum++) {
for (int i = currentNum + 1; i < arrayLength; i++) {
if (x[currentNum].equals(x[i])) {
break;
} else {
strings++;
}
}
return strings;
}

但这永远不会返回正确的金额,谁能告诉我为什么?

更新:

出于好奇如果我还想反向检查字符串是否等于其他字符串怎么办?那么 HashSets 将不起作用。

最佳答案

您的代码有 2 个问题。首先,数组索引从 0 开始,而不是 1。其次,当您想跳过该行时,break 会将您带到 strings++ 行。相反,您希望继续 外层循环,以便不执行strings++ 行。令人讨厌的是,您不能单独使用 continue,因为这适用于内部循环。您可以使用这样的标签:

loop:
for (int currentNum = 0; currentNum < arrayLength; currentNum++) {
for (int i = currentNum + 1; i < arrayLength; i++) {
if (x[currentNum].equals(x[i])) {
continue loop;
}
}
strings++;
}

关于java - 如何在 java 中测试一个字符串是否等于数组中的任何其他字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33322893/

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