미니 프로젝트 세트 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: 요약을 출력합니다.
}
}
제출 전 확인¶
- 첫 번째 영화가 초기 최상위 후보이므로
bestIndex를0으로 시작한다. - 현재 최고 평점과 비교할 때는
>=가 아니라>를 사용한다. - 평점 1부터 5까지를 각각 작성하지 말고, 반복문으로 별 문자열을 만든다.