자바기초) 메소드 활용 퀴즈 : 성적 관리 프로그램 4

박대현·2023년 1월 26일
0

자바 기초 활용

목록 보기
10/22

메소드 활용 퀴즈 : 성적 관리 프로그램
메소드를 활용하여 국어 영어 수학 성적을 총점, 평균 ,등급으로 나타내라.

조건
점수 입력, 총점 계산, 평균 계산, 등급 계산을 메소드로 구현하시오.

접근 방법
1. 국어 영어 수학 점수를 입력하는 메소드 구현
2. 총점을 계산하는 메소드 구현 및 값 출력
3. 평균을 계산하는 메소드 구현 및 값 출력
4. 등급을 계산하는 메소드 구현 및 값 출력

public class MethodMain03 {
	public static void main(String[] args) {

		// 1. 국어 영어 수학 점수를 입력하는 메소드 구현
		int[] scores = new int[3]; // 국어, 영어, 수학 점수를 입력 받은 배열 생성

		inputScores(scores);
		printScores(scores);

		// 입력받은 점수를 출력

		// 2.총점을 계산하는 메소드 구현 및 값 출력
		int sum = calcTotal(scores);// 함수에 인자 값으로 국어, 영어, 수학 점수를 넣어 calcTotal함수로 보내고 결과값을 sum에
									// 저장한다.
		System.out.println("총합 : " + sum);

		// 3.평균을 계산하는 메소드 구현 및 값 출력 (소수점까지 출력)
		double avg = calcAverage(sum); // 함수에 인자 값으로 총점 값을 보내고 함수에서 평균을 계산 후 리턴 값을 avg에 저장한다.
		System.out.println("평균 : " + avg);

		// 4. 등급을 계산하는 메소드 구현 및 값 출력
		char grade = selectGrade(avg);// 함수에 인자값으로 평균 값을 보내고 함수에서 등급을 계산 후 리턴 값을 grade에 저장한다.
		System.out.println("등급 : " + grade);

	}

	// 1. 국어 영어 수학 점수를 입력하는 메소드 구현
	private static void inputScores(int[] scores) { // 매개변수가 배열일 경우 call by reference 이기 때문에 리턴할 필요가 없다.
		Scanner sc = new Scanner(System.in);
		for (int i = 0; i < scores.length; i++) {
			if (i == 0) {
				System.out.println("국어 점수는 :");
			} else if (i == 1) {
				System.out.println("영어 점수는 :");
			} else {
				System.out.println("수학 점수는 :");
			}
			scores[i] = sc.nextInt();
		}
		sc.close();
	}

	private static void printScores(int[] scores) {
		for (int i = 0; i < scores.length; i++) {
			System.out.println("입력한 점수 :" + scores[i]);
		}
	}

	// 2.총점을 계산하는 메소드 구현 및 값 출력
	public static int calcTotal(int[] scores) { // 매개변수로 인자 값인 국어, 영어, 수학 점수를 전달 받는다.
		int total = 0;
		for (int i = 0; i < scores.length; i++) {
			total += scores[i];
		}
		return total; // 총점을 계산한 값을 돌려보낸다.

	}

	// 3.평균을 계산하는 메소드 구현 및 값 출력 (소수점까지 출력)
	public static double calcAverage(int sum) {// 매개변수로 인자 값인 총점을 전달 받는다.
		return sum / 3;// 평균 값을 돌려보낸다.
	}

	// 4. 등급을 계산하는 메소드 구현 및 값 출력
	public static char selectGrade(double avg) {// 매개변수로 평균 점수를 전달 받는다.
		char grade = 0;
		if (90 <= avg && avg <= 100) {
			grade = 'A';
		} else if (80 <= avg && avg < 89) {
			grade = 'B';
		} else if (70 <= avg && avg < 79) {
			grade = 'C';
		} else if (0 <= avg && avg < 69) {
			grade = 'F';
		}
		return grade;// 계산된 등급 값을 돌려보낸다.
	}

}

0개의 댓글