Java/Scanner

[Java] 메소드를 이용해서 세 과목을 입력받은 후 합계, 평균, 평균의 성취도, 취약 과목 출력하기 (메소드 활용편)

U__q 2022. 8. 28. 18:58
728x90

문제 

세 과목의 점수를 입력받아 합계, 평균, 평균의 성취도, 취약과목을 출력하는 프로그램을 작성하라.

실행 결과 예시

점수를 입력하세요 : 100
점수를 입력하세요 : 80
점수를 입력하세요 : 96
====== 성적 처리 결과 ======
합계 : 276     평균 : 92
성취도 : A
====== 노력이 가장 필요한 교과 ======
과목 : 영어     점수 : 80

소스 코드

import java.util.Scanner;
public class Score123 {
	public static void main(String args[]) {
		int score1=keyInput(); // 세 과목 점수 입력받음
		int score2=keyInput();
		int score3=keyInput();

		System.out.println("====== 성적 처리 결과 ======");

		getResult1(score1, score2, score3); // 합계, 평균, 평균의 성취도 출력 메소드

		System.out.println("====== 노력이 가장 필요한 교과 ======");
		
		getResult2(score1, score2, score3); //3등과목 출력하는 메소드
	}	

	static int keyInput() { // 점수 입력받는 메소드
		Scanner sc=new Scanner(System.in);
		System.out.print("점수를 입력하세요 : ");
		int score=sc.nextInt();
		return score; //score 값을 초기화함
	}

	static void getResult1(int score1, int score2, int score3) { // 합계, 평균, 평균 성취도 구하는 메소드
		int total=score1+score2+score3; // 세 과목 합계
		int avg=total/3; // 세 과목 평균
		System.out.println("합계 : "+total+"     평균 : "+avg);

		System.out.print("성취도 : ");
		switch(avg/10) { 
			case 10:
			case 9:
				System.out.println("A");
				break;
			case 8:
				System.out.println("B");
				break;
			case 7:
				System.out.println("C");
				break;
			default:
				System.out.println("D");
				break;
		}
	}

	static void getResult2(int score1, int score2, int score3) { // 3등과목(취약과목)을 출력하는 메소드
		if(score1<score2) {
			if(score1<score3)
				System.out.println("과목 : 국어     점수 : "+score1);
			else
				System.out.println("과목 : 수학     점수 : "+score3); 
			}
		else {
			if(score3>score2)
				System.out.println("과목 : 영어     점수 : "+score2);	
			else
				System.out.println("과목 : 수학     점수 : "+score3); 
		}
	}
}

소스코드 풀이

	static int keyInput() { // 점수 입력받는 메소드
		Scanner sc=new Scanner(System.in);
		System.out.print("점수를 입력하세요 : ");
		int score=sc.nextInt();
		return score; // score 값을 초기화함

keyInput() 메소드를 사용해서 과목의 점수를 입력받는 메소드를 만든다.

		int score1=keyInput(); // 세 과목 점수 입력받음
		int score2=keyInput();
		int score3=keyInput();

keyInput() 메소드를 int score 1,2,3에 대입해서 세 과목의 점수를 입력받는다.

	static void getResult1(int score1, int score2, int score3) { // 합계, 평균, 평균 성취도 구하는 메소드
		int total=score1+score2+score3; // 세 과목 합계
		int avg=total/3; // 세 과목 평균
		System.out.println("합계 : "+total+"     평균 : "+avg);

		System.out.print("성취도 : ");
		switch(avg/10) { 
			case 10:
			case 9:
				System.out.println("A");
				break;
			case 8:
				System.out.println("B");
				break;
			case 7:
				System.out.println("C");
				break;
			default:
				System.out.println("D");
				break;
		}
	}

getResult1() 메소드를 만들어서 세 과목의 합계와 평균을 구하고 평균에 따른 성취도를 출력한다.

실행 결과

점수를 입력하세요 : 82
점수를 입력하세요 : 57
점수를 입력하세요 : 89
====== 성적 처리 결과 ======
합계 : 228     평균 : 76
성취도 : C
====== 노력이 가장 필요한 교과 ======
과목 : 영어     점수 : 57
728x90