import java.util.Scanner;
public class Array33 {
public static void main(String[] args) {
// 3차원 배열 사용
// 한 반당 몇명?
// 각 반에의 학생 수와 그 학생들의 성적 입력 후 출력
int []room; // 반을 나타내는 배열
String [][]name; // 반과 이름
int [][][]score; // 해당 반 학생의 성적
float [][]avg;
int n,n2=0; // 교실수 입력 변수와 반의 수 구분짓는 변수
Scanner sc = new Scanner(System.in);
System.out.print("교실수 입력 : ");
n = sc.nextInt();
room = new int[n]; // 교실 수 배열의 크기 선언
for(int i=0;i<n;i++) {
System.out.printf("%d반의 학생 수는? : ", i+1);
room[i] = sc.nextInt(); // 각 반의 학생 수
n2 += room[i]; // 총 학생 수
}
name = new String[n][n2];
score = new int[n][n2][4];
avg = new float[n][n2];
for(int i=0;i<n;i++) { // 총 교실 수로 회전
for(int j=0;j<room[i];j++) { // 각 반마다 있는 학생의 수로 회전
System.out.printf("%d반의 %d번째 학생 이름 : ", i+1, j+1);
name[i][j] = sc.next();
for(int k=0;k<(score[i][j].length)-1;k++) {
System.out.printf("%s 학생 국 영 수 성적 입력 : ", name[i][j]);
score[i][j][k] = sc.nextInt();
score[i][j][3] += score[i][j][k];
}
avg[i][j] = score[i][j][3]/3.f;
}
}
for(int i=0;i<n;i++) {
for(int j=0;j<room[i];j++) {
System.out.println(" 반 : " + (i+1));
System.out.println("이름 : " + name[i][j]);
System.out.println("국어 : " + score[i][j][0]);
System.out.println("영어 : " + score[i][j][1]);
System.out.println("수학 : " + score[i][j][2]);
System.out.println("총점 : " + score[i][j][3]);
System.out.println("평균 : " + avg[i][j]);
System.out.println();
}
System.out.println("=========================");
}
}
}
반응형
'자바과정 > 과제물' 카테고리의 다른 글
(Java) 스택&큐 [예외처리] (0) | 2021.02.15 |
---|---|
(Java) 급여 관리 프로그램 [팀] (0) | 2021.02.13 |
(Java) stack과 heap (0) | 2021.01.30 |
(Java) 별찍기 예제 (0) | 2021.01.30 |
(Java) static method에서 this를 사용할 수 없는 이유 (0) | 2021.01.29 |
댓글