본문 바로가기
Java

[Java] 학생들의 최고 점수/최저 점수

by 엘딘 2022. 5. 17.
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);	

    String student[][] = {	//   국어    영어   수학 
            { "홍길동", "1999-01-23", "100", "90", "75" },	
            { "성춘향", "2010-07-04", "90", "100", "95" },
            { "일지매", "2001-03-05", "85", "95", "100" },				
    };

    // 각 학생들의 국어, 영어, 수학을 합친 총점은? 개개인의 총점
    int sum[] = new int[student.length];
    int temp;	// 1명분에 대한 성적의 합계			
    for (int j = 0; j < student.length; j++) {
        temp = 0;
        for (int k = 2; k < student[j].length; k++) {		// 1명당 성적의 합계 루프문
            temp = temp + Integer.parseInt(student[j][k]);
        }
        sum[j] = temp;
    }			


    for (int i = 0; i < sum.length; i++) {
        System.out.print(student[i][0] + "의 총점:" + sum[i] + "\n");
    }


    // 학생들의 국어점수의 총점은?
    int langSum = 0;
    for (int i = 0; i < student.length; i++) {
        langSum = langSum + Integer.parseInt(student[i][2]);
    }
    System.out.println("국어의 합계점수:" + langSum);


    // 영어 점수의 최고점수는 몇 점인가?
    int max = Integer.parseInt(student[0][3]);
    for (int i = 1; i < student.length; i++) {
        int eng = Integer.parseInt(student[i][3]);			
        if(eng > max) {
            max = eng;
        }
    }
    System.out.println("영어의 최고점수:" + max);


    // 수학 점수의 최저점수는 몇 점인가?
    int min = Integer.parseInt(student[0][4]);
    for (int i = 1; i < student.length; i++) {
        int math = Integer.parseInt(student[i][4]);
        if(math < min) {
            min = math;
        }
    }
    System.out.println("수학의 최저점수:" + min);


    // 학급에서 1등은 누구인가? 이름을 출력하라.
    int top = sum[0];
    int index = 0;
    for (int i = 0; i < sum.length; i++) {
        if(sum[i] > top) {
            top = sum[i];
            index = i;
        }
    }
    System.out.println("클래스의 1등은 " + student[index][0] + "님입니다");
}

 

 

메소드를 통한 값 출력
public static void main(String[] args) {

    // [ 1번 문제 ]
    // 학생들의 정보를 2차원 배열에 입력을 받는다.
    // (이름, 생년월일, 국어, 영어, 수학)

    String student[][];
    student = inf();



	// [ 2번 문제 ]
    // 각 학생들의 국어, 영어, 수학을 합친 총점은? 개개인의 총점

    total(student);


	
    // [ 3번 문제 ]
    // 학생들의 국어점수의 총점은?

    int a = total2(student);

    System.out.println("국어 총점 : " + a);


    // [ 4번 문제 ]
    // 영어 점수의 최고점수는 몇 점인가?

    total3(student);



    // [ 5번 문제 ]
    // 수학점수의 최저점수는 몇 점인가?

    total4(student);


    // [ 6번 문제 ]
    // 학급에서 1등은 누구인가? 이름을 출력하라.

    name(student);
}
	
    
// [ 1번 문제 ]
// 학생들의 정보를 2차원 배열에 입력을 받는다.
// (이름, 생년월일, 국어, 영어, 수학)
static String[][] inf() {

    Scanner scan = new Scanner(System.in);

    System.out.println("이름, 생년월일, 국어, 영어, 수학을 입력하세요");

    System.out.print("학생 수를 입력하세요 : ");
    int n = scan.nextInt();				// n == 학생수 == 열의 개수
    String student[][] = new String[n][5]; //

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < 5; j++) {

            System.out.print(i + "행" + j + "열 입력 : ");
            student[i][j] = scan.next();

        }
        System.out.println();
    }
    System.out.println("이름\t생년월일 국어\t영어\t수학\t");

    for (int i = 0; i < student.length; i++) {
        for (int j = 0; j < 5; j++) {
            System.out.print(student[i][j] + "\t");
        }
        System.out.println();
    }
    return student;
}

// [ 2번 문제 ]
// 각 학생들의 국어, 영어, 수학을 합친 총점은? 개개인의 총점

static int total(String[][] student) {

    int total = 0;

    for (int i = 0; i < student.length; i++) {

        total =  Integer.parseInt(student[i][2]) +  Integer.parseInt(student[i][3]) +  Integer.parseInt(student[i][4]);
        System.out.println(student[i][0] + "의 총점 : " + total);
    }

    return total;		
}


// [ 3번 문제 ]
// 학생들의 국어점수의 총점은?	

static int total2(String[][] student) {

    int total2 = 0;

    for (int i = 0; i < student.length; i++) {
        total2 += Integer.parseInt(student[i][2]);
    }

    return total2;

}


// [ 4번 문제 ]
// 영어 점수의 최고점수는 몇 점인가?	

static void total3(String[][] student) {

    int total3 = 0;
    int max = 0;

    for (int i = 0; i < student.length; i++) {
        int a = Integer.parseInt(student[i][3]);

		if(a > max) {
            max = a;
        }
    }
    System.out.println("영어 점수의 최고점수는 : " + max);
}


// [ 5번 문제 ]
// 수학점수의 최저점수는 몇 점인가?

static int total4(String student[][]) {

    int total4 = 0;
    int min = Integer.parseInt(student[0][4]);

    for (int i = 1; i < student.length; i++) {		// i에 1을 넣는 이유는 0열과 1열을 비교하기 위해(0값을 넣으면 0열과 0열을 비교하게 됨)
        int a = Integer.parseInt(student[i][4]);		
        if(a <= min) {
            min = a;
        }
    }
    System.out.println("수학 점수의 최저점은 : " + min);
    return total4;
}


// [ 6번 문제 ]
// 학급에서 1등은 누구인가? 이름을 출력하라.

static void name(String student[][]) {

    String name = " ";
    int sum = 0;
    int a = 0 ;

    for (int i = 0; i < student.length; i++) {

        sum = 0;

        for (int j = 2; j < 5; j++) {
            sum += Integer.parseInt(student[i][j]);
        }
        if(a <= sum) {
            a = sum; 			// sum은 for(j)에서 초기화가 되기때문에 a변수를 통해 sum값을 저장해둠
            name = student[i][0];
        }
    }
    System.out.println("학급에서 1등은 : " + name);
}

'Java' 카테고리의 다른 글

[Java] Inheritance(상속)3  (0) 2022.05.17
[Java] Constructor(생성자)  (0) 2022.05.17
[Java] 숫자 정렬  (0) 2022.05.17
[Java] 학생들의 평균 점수를 구하라  (0) 2022.05.16
[Java] Interface2  (0) 2022.05.16

댓글