콘텐츠로 이동

미니 프로젝트 세트 3: 영화 평점 대시보드

이름: ________

시간: 40분

영화 5개의 평점을 저장하고 작은 대시보드를 출력하는 Java 프로그램을 작성하세요. 평점은 1부터 5까지의 정수입니다.

학습 목표

  • 병렬 배열로 서로 관련된 데이터를 함께 관리한다.
  • 배열을 탐색하고 최댓값의 인덱스를 기억한다.
  • 반복문, 조건문, 문자열, 서식 있는 출력을 함께 사용한다.
  • 보조 메서드를 작성하고 호출한다.

사용할 데이터

아래 두 배열을 그대로 사용하세요. 같은 인덱스의 제목과 평점은 같은 영화를 나타냅니다.

String[] titles = {"Sky Route", "Moonlight Cafe", "Code Quest", "Ocean Signal", "Last Train"};
int[] ratings = {4, 5, 3, 5, 2};

요구 사항

  • 다음 메서드 헤더를 정확히 작성한다.
public static String stars(int rating)

이 메서드는 rating 개수만큼의 별표로 구성된 문자열을 반환한다. 예를 들어 stars(3)"***"를 반환한다. - main에서 배열을 한 번만 순회하여 다음을 찾는다. - 모든 평점의 합 - 가장 높은 평점을 받은 첫 번째 영화의 인덱스 - 추천 영화 수 (평점 4 또는 5) - 각 영화는 다음 형식으로 한 줄씩 출력한다.

Sky Route: **** (4)
  • 그다음 대시보드 요약을 출력한다. 평균은 소수점 둘째 자리까지 출력한다.
  • 최고 평점인 영화가 여러 개면 첫 번째 영화를 유지한다. 평점이 같을 때는 최상위 인덱스를 바꾸지 않는다.

예상 출력

Sky Route: **** (4)
Moonlight Cafe: ***** (5)
Code Quest: *** (3)
Ocean Signal: ***** (5)
Last Train: ** (2)
Average rating: 3.80
Top movie: Moonlight Cafe
Recommended movies: 3

시작 코드

public class Main {
    public static String stars(int rating) {
        // TODO
        return "";
    }

    public static void main(String[] args) {
        String[] titles = {"Sky Route", "Moonlight Cafe", "Code Quest", "Ocean Signal", "Last Train"};
        int[] ratings = {4, 5, 3, 5, 2};

        // TODO: 요약 변수들을 초기화합니다.
        // TODO: 한 번의 반복문으로 각 영화를 출력하고 요약 값을 갱신합니다.
        // TODO: 요약을 출력합니다.
    }
}

제출 전 확인

  • 첫 번째 영화가 초기 최상위 후보이므로 bestIndex0으로 시작한다.
  • 현재 최고 평점과 비교할 때는 >=가 아니라 >를 사용한다.
  • 평점 1부터 5까지를 각각 작성하지 말고, 반복문으로 별 문자열을 만든다.