1. 과목(국어, 영어, 수학)
2. 학생 수 입력 받기
3. 학생의 총점, 학생의 평균, 과목 최고점수, 과목 최저점수, 과목 평균점수 출력
Scanner sc = new Scanner(System.in);
int menuNumber = 0;
int student[][] = null;
while(true){
System.out.println("<성적 관리 프로그램>");
System.out.println("1. 학생 점수 입력 ");
System.out.println("2. 학생 점수 총점 ");
System.out.println("3. 학생 점수 평균 ");
System.out.println("4. 과목의 최고 점수");
System.out.println("5. 과목의 최저 점수");
System.out.println("6. 과목의 평균 점수");
System.out.println("7. 종료");
System.out.print("메뉴번호 >> ");
menuNumber = sc.nextInt();
if(menuNumber == 1){
// n명 입력
System.out.print("총 학생 수가 몇 명입니까? >> ");
int count = sc.nextInt();
student = new int[count][3];
//각 점수 입력
for ( int i = 0 ; i < student.length ; i++ ){
System.out.println((i+1) + "번째 학생의 점수를 입력하세요.");
System.out.print("국어 점수 = ");
student[i][0] = sc.nextInt();
System.out.print("영어 점수 = ");
student[i][1] = sc.nextInt();
System.out.print("수학 점수 = ");
student[i][2] = sc.nextInt();
}
for ( int i = 0 ; i < student.length ; i++){
System.out.println(Arrays.toString( student[i] ) );
}
} else if (menuNumber == 2) {
System.out.println("몇 번째 학생의 총점을 보시겠습니까?");
int number = sc.nextInt();
int counter = 0;
for ( int i = 0 ; i < student[number-1].length ; i++){
counter = counter + student[number-1][i];
}
System.out.println(number + "번째 학생의 총점은 " + counter + "점 입니다.");
} else if (menuNumber == 3) {
// ?번째 학생의 점수 평균
System.out.println("몇 번째 학생의 평균을 보시겠습니까?");
int number = sc.nextInt();
int counter = 0;
for ( int i = 0 ; i < student[number-1].length ; i++){
counter = counter + student[number-1][i];
}
double avg = (double) counter / student[number-1].length;
System.out.println(number + "번째 학생의 평균은 " + avg + "점 입니다.");
} else if (menuNumber == 4) {
System.out.print("어떤 과목(국어, 영어, 수학)의 최고 점수를 보시겠습니까? >> ");
String subject = sc.next();
int max = 0;
switch (subject){
case "국어":
max = student[0][0];
for ( int i = 0 ; i < student.length ; i++ ){
if(max < student[i][0]){
max = student[i][0];
}
}
System.out.println("국어의 최고 점수는 " + max + "점 입니다.");
break;
case "영어":
max = student[0][1];
for ( int i = 0 ; i < student.length ; i++ ){
if(max < student[i][1]){
max = student[i][1];
}
}
System.out.println("영어의 최고 점수는 " + max + "점 입니다.");
break;
case "수학":
max = student[0][2];
for ( int i = 0 ; i < student.length ; i++ ){
if(max < student[i][2]){
max = student[i][2];
}
}
System.out.println("수학의 최고 점수는 " + max + "점 입니다.");
break;
}
} else if (menuNumber == 5) {
System.out.print("어떤 과목(국어, 영어, 수학)의 최저 점수를 보시겠습니까? >> ");
String subject = sc.next();
int min = 0;
switch (subject){
case "국어":
min = student[0][0];
for ( int i = 0 ; i < student.length ; i++ ){
if(min > student[i][0]){
min = student[i][0];
}
}
System.out.println("국어의 최저 점수는 " + min + "점 입니다.");
break;
case "영어":
min = student[0][1];
for ( int i = 0 ; i < student.length ; i++ ){
if(min > student[i][1]){
min = student[i][1];
}
}
System.out.println("영어의 최저 점수는 " + min + "점 입니다.");
break;
case "수학":
min = student[0][2];
for ( int i = 0 ; i < student.length ; i++ ){
if(min > student[i][2]){
min = student[i][2];
}
}
System.out.println("수학의 최저 점수는 " + min + "점 입니다.");
break;
}
} else if (menuNumber == 6) {
System.out.print("어떤 과목(국어, 영어, 수학)의 평균을 보시겠습니까? >> ");
String subject = sc.next();
if(subject.equals("국어")){
int counter = 0;
for(int i = 0; i < student.length; i++ ){
counter += student[i][0];
}
System.out.println("국어의 총점은 " + counter + "점 입니다.");
double avg = counter / student.length;
System.out.println("국어의 평균은 " + avg + "점 입니다.");
} else if (subject.equals("영어")) {
int counter = 0;
for(int i = 0; i < student.length; i++ ){
counter += student[i][1];
}
System.out.println("영어의 총점은 " + counter + "점 입니다.");
double avg = counter / student.length;
System.out.println("영어의 평균은 " + avg + "점 입니다.");
} else if (subject.equals("수학")) {
int counter = 0;
for(int i = 0; i < student.length; i++ ){
counter += student[i][2];
}
System.out.println("수학의 총점은 " + counter + "점 입니다.");
double avg = counter / student.length;
System.out.println("수학의 평균은 " + avg + "점 입니다.");
}
} else if (menuNumber == 7) {
System.out.println("종료하겠습니다.");
break;
}
}
'JAVA 프로그래밍' 카테고리의 다른 글
[JAVA] 풀스택 개발자 부트캠프 006일차 ② 대문자를 소문자로 바꾸는 함수 (0) | 2024.12.31 |
---|---|
[JAVA] 풀스택 개발자 부트캠프 006일차 ① function(함수) (0) | 2024.12.31 |
[JAVA] 풀스택 개발자 부트캠프 005일차 ① 정렬 (0) | 2024.12.30 |
[JAVA] 풀스택 개발자 부트캠프 004일차 ⑥ 랜덤 계산식 (1) | 2024.12.27 |
[JAVA] 풀스택 개발자 부트캠프 004일차 ⑤ 계산기 만들기 (0) | 2024.12.27 |