gpt4 book ai didi

java - 在字符串比较期间将 String.charAt 减少到一个循环

转载 作者:行者123 更新时间:2023-11-29 03:52:16 24 4
gpt4 key购买 nike

我需要比较两个长度不同的字符串,因此我编写了两个条件循环,具体取决于哪个字符串最长:

boolean compare(String first, String second)  
{
boolean firstLongest = first.length() > second.length();
if(firstLongest)
{
for(int i = 0; i < first.length(); i++)
//charAt code here
}
else{
for(int i = 0; i < second.length();i++)
//charAt code here
}

}

我决定重写它:

boolean compare(String first, String second)  
{
int lengthDifference = first.length() - second.length();
for(int i = 0; i < first.length() + lengthDifference;i++)
//charAt code here
}

我想避免 1) 两个循环和 2) 越界异常。我的问题是上面的实现是否有一个我遗漏的极端情况,或者这是否适用于所有可能的输入。

最佳答案

如果第二个字符串更长,您的修改版本将会中断。

使用:

int combinedLength = Math.min(first.length(), second.length());

那么你的条件只需要是:

i < combinedLength

关于java - 在字符串比较期间将 String.charAt 减少到一个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216706/

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