코딩/java

영화 비교 (생성자)

런던전통손만두 2019. 2. 10. 15:10
반응형

import java.util.Random;

public class Movie {

 Random rd = new Random();

 

private String title, director, mid, production;

private int score, year;

 

public void setTitle(String title) {this.title = title;};

public void setDirector(String director) {this.director = director;};

public void setScore(int score) {this.score = score;};

public void setYear(int year) {this.year = year;};

public void setMid(String mid) {this.mid = mid;};

public void setProduction(String production ) {this.production = production;};

 

public String getTitle() {return title;}

public String getDirector() {return director;};

public int getScore() {return score;};

public int getYear() {return year;};

public String getMid() {return mid;};

public String getProduction() {return production;};

 

public String toString() {

return "번호: " + mid + "\n제목: " + title + "\n감독: " + director + "\n제작사: " + production;

 }

 

public Movie() {

this.mid = makeID();

this.title = "모름";

this.director = "모름";

this.year = -1;

this.score = -1;

 }

 

private String makeID() {

return (rd.nextInt(9000) + 1000) + "-" + (rd.nextInt(9000) + 1000);

 }

 

public static String compareMovies(Movie x, Movie y) {

boolean resultD = compareDirector(x, y);

boolean resultP = compareProduction(x, y);

String rslt = "영화 " + x.mid + "와 영화 " + y.mid +"";

 

if (resultD == true && resultP == true) {

rslt += "감독이 같고 제작사도 같습니다.";

} else if (resultD == true && resultP == false) {

rslt += "감독이 같고 제작사가 다릅니다.";

} else if (resultD == false && resultP == true) {

rslt += "감독이 다르고 제작사가 같습니다.";

} else {

rslt += "감독이 다르고 제작사도 다릅니다.";

}

 

return rslt;

 }

 

private static boolean compareDirector(Movie x, Movie y) {

if (x.director.equals(y.director) == true) {

return true;

} else {

return false;

}

 }

 

private static boolean compareProduction(Movie x, Movie y) {

if (x.production.equals(y.production) == true)

return true;

else

return false;

 }

 

}

 

 

import java.util.Scanner;

public class Practice_57 {

 

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

 

Movie m1 = new Movie();

 

System.out.println("영화 정보를 입력하세요");

System.out.print("영화제목은? ");

m1.setTitle(input.next());

System.out.print("감독은? ");

m1.setDirector(input.next());

System.out.print("제작사는? ");

m1.setProduction(input.next());

 

Movie m2 = new Movie();

 

System.out.println("영화 정보를 입력하세요");

System.out.print("영화제목은? ");

m2.setTitle(input.next());

System.out.print("감독은? ");

m2.setDirector(input.next());

System.out.print("제작사는? ");

m2.setProduction(input.next());

 

Movie m3 = new Movie();

 

System.out.println("영화 정보를 입력하세요");

System.out.print("영화제목은? ");

m3.setTitle(input.next());

System.out.print("감독은? ");

m3.setDirector(input.next());

System.out.print("제작사는? ");

m3.setProduction(input.next());

System.out.println("입력한 영화의 정보입니다.\n");

 

System.out.println(m1.toString() + "\n");

System.out.println(m2.toString() + "\n");

System.out.println(m3.toString() + "\n");

 

System.out.println(Movie.compareMovies(m1, m2));

System.out.println(Movie.compareMovies(m1, m3));

System.out.println(Movie.compareMovies(m2, m3));

 

input.close();

 }

 

}

 

 

결과:

 

반응형