В вашем массиве нет функции indexOf
вместо вашего текущего подхода - я бы вернул index
из getLongString
и getShortString
методов; начнем с предположения, что это первый элемент. Если какой-либо элемент длиннее (или короче), обновите возвращаемое значение. Как,
public static int getLongString(String[] array) {
int max = 0;
for (int i = 1; i < array.length; i++) {
if (array[i].length() > array[max].length()) {
max = i;
}
}
return max;
}
public static int getShortString(String[] array) {
int min = 0;
for (int i = 1; i < array.length; i++) {
if (array[i].length() < array[min].length()) {
min = i;
}
}
return min;
}
Тогда вы можете назвать это как
public static void main(String[] args) {
String[] names = { "bob", "maxwell", "charley", "tomtomjack" };
int longString = getLongString(names);
System.out.println("The Longest String is: " + names[longString] + " With The Index Of " + longString);
int shortString = getShortString(names);
System.out.println("The Longest String is: " + names[shortString] + " With The Index Of " + shortString);
}
Какие выходы
The Longest String is: tomtomjack With The Index Of 3
The Longest String is: bob With The Index Of 0