본문 바로가기

Language/Java

[JAVA]반, 학생 수 를 입력받는 성적 프로그램

몇반까지 있는지와 각 반마다의 학생수를 입력받는 프로그램이다.

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