问题是我尝试这样做,但是我检查字符串长度的方法不起作用;我该怎么做才能解决它?
public static void main(String[] args) {
String[] animalNames = {"cat", "rabbit", "horse", "goat", "rooster", "ooooooooooooooo"};
String a= getLongestString(animalNames);
System.out.println(a);
}
public static String getLongestString(String []animalNames) {
// String animalNames[] = {"cat","chicken","horse","ooooooooo" };
int j = 0;
for (j = 0; j <= animalNames.length; j++) {
if (animalNames[j].length() > animalNames[j + 1].length()) {
return (animalNames[j]);
}
}
return null;
}
}
原文由 Dee 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里。 1. 您使用
j<= animalNames.length;
?你比较
animalNames[j + 1]
? -> 错误索引超出数组并且您返回第一个 if 条件
return (animalNames[j]);
-> 错误值好吧,让我说清楚。您找到数组中最长的字符串。您遍历数组然后比较 2 个附近的元素,然后返回较大的一个。使用您的代码,它将返回兔子。正确的?
可能您对流程感到困惑。有一个简单的方法。
代码:
这就对了。