본문 바로가기

Java/Learn_Java

5. 참조 타입_연습문제

- 다음은 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서,

최고 점수 및 평균 점수를 구하는 프로그램입니다.

실행 결과를 보고, 알맞게 작성해보세요.

 


import java.util.Scanner;

public class Exercise09 {
	public static void main(String[] args) {
	boolean run = true;
	int studentNum = 0;
	int[] scores = null;
	Scanner sc = new Scanner(System.in);
		while (run) {
		System.out.println("-----------------------"
				+ "--------------------------");
		System.out.println("1.학생수 | 2.점수입력 |"
				+ " 3.점수리스트 | 4.분석 | 5.종료");
		System.out.println("-----------------------"
				+ "--------------------------");
		System.out.print("선택>>> ");
			int selectNo = sc.nextInt();
			
			if (selectNo == 1) {
			System.out.println("-----------------------"
					+ "--------------------------");
			System.out.print("학생 수> ");
			studentNum = sc.nextInt();
			scores = new int[studentNum];
			
		} else if (selectNo == 2) {
			for (int i = 0; i < scores.length; i++) {
			System.out.println("-----------------------"
					+ "--------------------------");
			System.out.print("학생 " + (i + 1) + " 점수 입력>");
//	i는 0부터 시작하므로 1 더함.
//	배열 i번째에 입력한 점수를 넣음.
					scores[i] = sc.nextInt();
			}
		System.out.println("점수 입력 완료");

		} else if (selectNo == 3) {
			System.out.println("-----------------------"
					+ "--------------------------");
			System.out.println("점수 리스트\n");
			if (scores == null) {
				System.out.println("학생 점수가 입력되지 않았습니다.");
				continue; // 처음으로 돌아가기
			} else {
				for (int i = 0; i < scores.length; i++) {
//	i번째 배열 안에 있는 학생 성적 변수를 꺼내 출력함
				System.out.println("학생 " + i + ": " + scores[i]);
				}
			}

		} else if (selectNo == 4) {
			int max = 0;
			int sum = 0;
			double avg = 0;
			for (int i = 0; i < scores.length; i++) {
//	i번째 배열 안 성적 변수가 현재 max값보다 작으면, 
//	그대로 두고, 아니면 max값으로 덮어씌움
			max = (max < scores[i]) ? scores[i] : max;
			sum += scores[i];
			}
			avg = (double) sum / studentNum;
			System.out.println("-----------------------"
					+ "--------------------------");
			System.out.println("분석\n");
			System.out.println("최고 점수: " + max);
			System.out.println("평균 점수: " + avg);
		} else if (selectNo == 5) {
			System.out.println("프로그램 종료");
			run = false;
			}

		} // while
	}// main

}

'Java > Learn_Java' 카테고리의 다른 글

Java의 비트 연산자 이용법  (0) 2020.04.13
6. 클래스_연습문제(은행 계좌)  (0) 2020.04.05
5. 참조 타입  (0) 2020.03.29
4. 조건문과 반복문_활용문제  (0) 2020.03.29
3. 연산자_연습문제  (0) 2020.03.29