Проблема в том, что я пытался это сделать, но мой метод проверки длины строки не работает; что я могу сделать, чтобы исправить это?Поиск самой длинной строки в массиве строк
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;
}
}
Вы только возвращая один больше, чем другой, который, безусловно, должен бросить ошибку, когда вы столкнулись с последним. (** 0. Правильно отформатируйте свой пост! **) 1. Сохраните длину и индекс первой строки. 2. Обновите оба, когда вы найдете более длинную строку. 3. Верните строку из самого длинного индекса. – usr2564301
Что произойдет, если есть несколько строк с длиной 10 и они все самые длинные? Если это C#, то работает следующее: «animalNames.Aggregate (« », (max, cur) => max.Length> cur.Length? Max: cur);' – Kevin
Извините за то, что я разместил вопрос, но эта программа находится в java – Dee