Я пытаюсь решить изгнание, которое должно узнать меня об интерфейсе Comparable<T>
. Он подсказывает мне найти кратчайшую и самую длинную строку в массиве строк.CompareTo() для поиска кратчайшей/длинной строки в массиве
Я думаю, что я должен сделать свой собственный compareTo()
-метод, потому что метод String.compareTo()
сортируется в алфавитном порядке. Но я не могу понять, как должен выглядеть мой метод.
Это мой код до сих пор:
class ComparableTest implements Comparable<String> {
public static void main(String[] args) {
String arr[] = {"hei", "hvordan", "gaar", "det", "med", "deg", "a"};
String tempSto = arr[0]; //long string
String tempLit = arr[0]; //short string
for(String e : arr) {
if(e.compareTo(tempSto) > 0) {
tempSto = e;
}
if(e.compareTo(tempLit) < 0) {
tempLit = e;
}
}
System.out.println("Longest string is: " + tempSto);
System.out.println("Shortest string is: " + tempLit);
}
}
что-то вроде 'если (e.length()> tempSto длины()) ...' может помочь вам – vikingsteve
@Magnarok, вы предполагается использовать метод длины для сравнения двух строк правильно?? – VSK
Я должен создать метод compareTo(), который возвращает целое число, основанное на различиях по длине между двумя сравниваемыми строками. – Magnarok