Мне нужно сравнить две строки различной длины, и поэтому я написал два условных цикла в зависимости от того, какая строка самая длинная:
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) исключений за пределами границ.У меня вопрос: есть ли в приведенной выше реализации угловой случай, который я пропускаю, или это должно работать для всех возможных входных данных?