У меня есть один класс Movie с 4 частными членами. и я хочу получить доступ к этим закрытым членам в main(), используя массив объектов Movie Class. у меня есть 4 члена в киноклассе, соответственно название фильма, режиссер, киноактер, заработок в кино. я создал один параметризованный конструктор, который имеет 4 параметра и один метод to-String для отображения сведений об этом члене класса. теперь я хочу отсортировать доход от фильмов от самого высокого до самого низкого и отобразить названия фильмов в соответствии с этим доходом.
class Movie {
private String movieName;
private String movieDirector;
private String movieActor;
private double movieEarning;
Movie(String movieName, String movieDirector, String movieActor, double movieEarning) {
this.movieName = movieName;
this.movieDirector = movieDirector;
this.movieActor = movieActor;
this.movieEarning = movieEarning;
}
public String toString() {
return "\n" + "Movie Name = " + movieName + "\n" + "Movie Director =" + movieDirector + "\n" + "Movie Actor = " + movieActor + "\n" + "Movie Earning = " + movieEarning;
}
public void movieData() {
//Print movie name where director = Rohit Shetty
if (movieDirector.equals("Rohit Shetty") || movieDirector.equals("rohit shetty"))
System.out.println("Movie Name=" + movieName);
//Print director name who earned between 300 - 500
if (movieEarning > 300 && movieEarning < 500)
System.out.println("Print Director Names who earns more than 300 crores= " + movieDirector);
//print moive details where actor = salman khan && director=kabir khan
if (movieActor.equals("Salman Khan") && movieDirector.equals("kabir khan")) {
System.out.println("Print Movie Names = " + movieName);
System.out.println("Print Movie Earning = " + movieEarning);
}
//print movie name whose actor name starts with s
if (movieActor.startsWith("s"))
System.out.println("Print Actor Name where movie name starts with 's' = " + movieName);
//print movie name with order of highest earning to lowest earning
}
}
public class MovieDemo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String movieName;
String movieDirector;
String movieActor;
double movieEarning;
Movie[] movieObj;
movieObj = new Movie[6];
for (int i = 1; i < movieObj.length; i++) {
System.out.print("Enter " + i + " movie name :");
movieName = sc.next();
sc.nextLine();
System.out.print("Enter " + i + " movie director name :");
movieDirector = sc.next();
sc.nextLine();
System.out.print("Enter " + i + " movie actor: ");
movieActor = sc.next();
sc.nextLine();
System.out.print("Enter " + i + " movie earning: ");
movieEarning = sc.nextDouble();
sc.nextLine();
movieObj[i] = new Movie(movieName, movieDirector, movieActor, movieEarning);
System.out.println(movieObj[i]);
}
for (int i = 1; i < movieObj.length; i++) {
movieObj[i].movieData();
}
}
}
Я ожидаю результат, так как когда я ввожу доход от фильмов шесть раз, я буду отображать названия фильмов в порядке от самого высокого заработка до самого низкого заработка фильма. например, я ввожу значение как 400 500 200 800 100, тогда это дает мне список названий фильмов, которые зарабатывают от высокой до низкой.
Comparable
или при использовании методаsort
передатьComparator
. - person SMA   schedule 03.02.2019for
должны начинаться какint i=0
. - person Prasad Karunagoda   schedule 03.02.2019String movieName = sc.next();
. - person MC Emperor   schedule 03.02.2019java.util.Arrays.sort()
для достижения необходимой сортировки. - person Prasad Karunagoda   schedule 03.02.2019Movie
начинаются сmovie
. Поскольку они уже являются членами классаMovie
, этот префикс немного избыточен. Например.movieName
может быть простоname
. - person MC Emperor   schedule 03.02.2019