몇반까지 있는지와 각 반마다의 학생수를 입력받는 프로그램이다.
3차원 배열을 사용하여 코딩하였다.
import java.util.Scanner;
public class ObjectArrayExam04 {
public static void main(String[] args) {
String name[][];
int score[][][];
float avg[][];
int c_num = 0, s_num = 0;
String index[] = { "kor", "eng", "math", "total" };
Scanner sc = new Scanner(System.in);
System.out.print("input class number : ");
c_num = sc.nextInt();
System.out.println();
name = new String[c_num][];
score = new int[c_num][][];
avg = new float[c_num][];
for (int i = 0; i < c_num; i++) {
System.out.print("input student number in class " + (i + 1) + " : ");
s_num = sc.nextInt();
System.out.println();
name[i] = new String[s_num];
score[i] = new int[s_num][4];
avg[i] = new float[s_num];
for (int j = 0; j < s_num; j++) {
System.out.print("("+(i+1)+"-"+(j+1)+") input name : ");
name[i][j] = sc.next();
System.out.println();
for (int k = 0; k < score[i][j].length - 1; k++) {
System.out.print("input " + index[k] + " score : ");
score[i][j][k] = sc.nextInt();
score[i][j][3] += score[i][j][k];
}
avg[i][j] = score[i][j][3] / 3.f;
System.out.println();
}
System.out.println();
}
for(int i = 0; i < c_num; i++) {
System.out.println("in class No." + (i+1));
for(int j = 0; j < score[i].length; j++) {
System.out.println("name : " + name[i][j]);
for(int k = 0; k < score[i][j].length; k++) {
System.out.print(index[k] + " : " + score[i][j][k] + "\t");
}
System.out.print("avg : " + avg[i][j]);
System.out.println();
}
System.out.println();
}
}
}
'Language > Java' 카테고리의 다른 글
[JAVA] Class에 대해 (0) | 2021.02.03 |
---|---|
[JAVA] Method호출 방식(Call by Reference, Name, Value) (0) | 2021.02.02 |
[JAVA] 별찍기 (0) | 2021.01.30 |
[JAVA]Stack과 Heap에 관하여 (0) | 2021.01.30 |
[JAVA]연산자(Operator) (0) | 2021.01.28 |