У меня есть класс объектовПоиск макс/мин значения с помощью Сопоставимые
public class Film implements Comparable<Film>
Я использую Eclipse, и хотел бы знать, почему Film
подчеркнут красным цветом с ошибкой, говоря:
The type Film must implement the inherited abstract method Comparable<Film>.compareTo<Film>
И теперь, на мой главный вопрос:
Как получить максимальную/минимальную длину и длину изображения пользователя е?
Мой класс объектов Фильм имеет методы получения и сеттера для названия пленки и длины пленки и метода toString. После this статьи (# 3) Я создал еще два метода в моем классе объекта:
public int max(Film maxLength){
int compareLength = ((Film) maxLength).getLength();
return this.length - compareLength;
}
public int min(Film minLength){
int compareLength = ((Film) minLength).getLength();
return compareLength - this.length;
}
Могу ли я использовать их, чтобы найти и распечатать макс/мин значения присланного пользователя длины пленки?
Если да, то как?
Если нет, то каков правильный способ сделать это?
Класс тест выглядит следующим образом:
import java.util.Scanner;
public class test {
public static void main (String[] args){
Film[] f = new Film[3];
Scanner input = new Scanner(System.in);
for (int i=0;i<3;i++){
f[i] = new Film();
System.out.println("Enter Film Length:");
f[i].setLength(input.nextInt());
input.nextLine();
System.out.println("Enter Title:");
f[i].setTitle(input.nextLine());
}
input.close();
for (int i = 0; i < 3; i++) {
System.out.println(f[i].toString());
}
}
}
Компилятор говорит вам, что вам нужно реализовать необходимый метод интерфейса 'compareTo' в ваш класс «Фильм». Вы могли бы использовать свои методы «min/max» в этой реализации, чтобы достичь того, чего вы хотите. –
Я проиграл относительно того, как я буду это делать @RyanJ –