Полностью согласен с тем, что написали мои коллеги.
От себя добавлю, что ваш код можно несколько упростить. Если вам придется сравнивать не 2 или 3 фильма, а допустим штук 100, то вы просто с ума сойдете для каждого из них подбирать комбинацию и строить ветки if else. А значит, должно быть другое "общее" решение.
Можете ознакомиться с одним из вариантов решения с помощью, которого вы можете сравнить сколько угодно фильмов и без всякого if .. else:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Создаем фильмы
Cinema cinema1 = new Cinema("Титаник", 2194);
Cinema cinema2 = new Cinema("Аватар", 2810);
Cinema cinema3 = new Cinema("Тёмный рыцарь", 1084);
Cinema[] cinemas = new Cinema[]{cinema1, cinema2, cinema3};
// Находим фильм с большим доходом
String cinemaTitle = findHighestGrossingFilm(cinemas);
System.out.println(cinemaTitle);
}
/**
* Метод находит фильм с большим доходом
* @param cinemas массив фильмов для сравнения
* @return название фильма с большим доходом
*/
public static String findHighestGrossingFilm(Cinema ... cinemas) {
Cinema cinemaWithMaxIncome = Arrays.stream(cinemas).max(Cinema::compareTo).get();
return cinemaWithMaxIncome.name;
}
}
class Cinema implements Comparable<Cinema> {
String name;
int income;
public Cinema(String name, int income) {
this.name = name;
this.income = income;
}
// Имплементируем интерфейс Comparable и сравниваем income объектов
@Override
public int compareTo(Cinema c) {
return Integer.compare(this.income, c.income);
}
}