gpt4 book ai didi

java - 如何比较两个不同长度的字符串并仅针对 1 个无效字符返回 false?

转载 作者:行者123 更新时间:2023-12-01 16:36:55 25 4
gpt4 key购买 nike

public boolean setValidColor(String input, String colors) {
int exists;
isValidColor = true;
char[] colorch = colors.toCharArray();
Arrays.sort(colorch);
for(int i = 0; i < input.length(); i++)
{
exists = Arrays.binarySearch(colorch, input.charAt(i));
if(exists == -1)
{
isValidColor = false;
break;
}
}
return isValidColor;
}

我在比较两个不同长度的字符串时遇到问题,并且在仅 1 个无效输入实例时返回 false。

例如:可能的颜色是 RGOPYB,输入颜色是 YZOR。 “Z”是不可能的,我需要编码以返回 false,但代码不断返回 true。我哪里出错了?

编辑:这段代码不仅仅是这个(进行 OOP),这只是我一直遇到麻烦的一个方法。

最佳答案

Arrays.binarySearch如果要搜索的值应插入到位置 0,则仅返回 -1。对于未找到的其他值,则返回其他负值。测试exist < 0而不是exists == -1 .

关于java - 如何比较两个不同长度的字符串并仅针对 1 个无效字符返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110101/

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