import java.util.Scanner;
/*
* 사람수 입력, 학생 수 만큼 성적 처리
* 1. 몇명? 숫자입력
* 2. 이름 국 영 수 사람수대로 입력
* 3. 사람 수대로 총점 평균
* 4. 전체 출력
*
* 과제 - 전체 반 수, 각 반의 인원 -> 반복
*
*/
public class Day3hw1 {
public static void main(String[] args) {
String [][]name; //이름
int [][][]score; //국 영 수 총
float [][]avg; //평균
int []people;
String []txt = { "class", "student", "name", "kr", "en", "math", "tot", "avg"}; //출력목록
int classnum; //전체 교실 수
int subnum = 3; // 최대 과목 수
int maxnum = 100; //입력 제한
System.out.println("반을 입력하세요.");
Scanner sc = new Scanner(System.in);
classnum = sc.nextInt();
people = new int[classnum]; //전체 반수와 각반의 학생수를 저장할 배열 생성
name = new String[classnum][maxnum];
score = new int[classnum][maxnum][subnum+1];
avg = new float[classnum][subnum]; //이름, 점수, 평균에 관한 배열 생성
for(int i=0;i<classnum;i++) {
System.out.print((i+1)+"반의 학생 수를 입력하세요 : ");
people[i] = sc.nextInt();
for(int j=0;j<people[i];j++) {
System.out.print("학생 이름을 입력하세요 : ");
name[i][j] = sc.next();
for(int k=0; k< subnum ;k++) {
System.out.print(txt[k+3]+ " 성적을 입력하세요 : ");
score[i][j][k] = sc.nextInt();
score[i][j][3] += score[i][j][k];
}
avg[i][j] = (float)score[i][j][3]/(subnum);
}
}
for(int i=0;i<classnum;i++) {
for(String data : txt) {
System.out.print(data+"\t"); //리스트 출력
}
for(int j=0;j<people[i];j++) {
System.out.print("\n"+(i+1)+"\t"+people[i]+"\t");
System.out.print(name[i][j]+"\t");
for(int k=0; k<= subnum ;k++) {
System.out.print(score[i][j][k]+"\t");
}
System.out.println(avg[i][j]+"\n"); //점수 및 인적 사항출력
}
}
}
}
import java.util.Scanner;
/*
* 사람수 입력, 학생 수 만큼 성적 처리
* 1. 몇명? 숫자입력
* 2. 이름 국 영 수 사람수대로 입력
* 3. 사람 수대로 총점 평균
* 4. 전체 출력
*
* 과제 - 전체 반 수, 각 반의 인원 -> 반복
*
*/
public class Day3hw2 {
public static void main(String[] args) {
String [][]name; //이름
int [][][]score; //국 영 수 총
float [][]avg; //평균
int []people;
int classnum; //전체 교실 수
int subnum = 3; // 최대 과목 수
int maxnum = 100; //입력 제한
System.out.println("반을 입력하세요.");
classnum = numIn();
people = new int[classnum]; //전체 반수와 각반의 학생수를 저장할 배열 생성
name = new String[classnum][maxnum];
score = new int[classnum][maxnum][subnum+1];
avg = new float[classnum][subnum]; //이름, 점수, 평균에 관한 배열 생성
asking(subnum,classnum,name,people,score); //입력 사항 요청
calculation(subnum,classnum,people,score ,avg); //계산
result(subnum,classnum,name,people,score ,avg); //결과 출력
}
static void calculation(int subnum, int classnum,int []people, int [][][]score ,float [][]avg) {
for(int i=0;i<classnum;i++) {
for(int j=0;j<people[i];j++) {
for(int k=0; k< subnum ;k++) {
score[i][j][3] += score[i][j][k];
}
avg[i][j] = (float)score[i][j][3]/(subnum);
}
}
}
static void asking(int subnum, int classnum,String [][]name,int []people, int [][][]score ) {
String []txt = { "class", "student", "name", "kr", "en", "math", "tot", "avg"}; //출력목록
for(int i=0;i<classnum;i++) {
System.out.print((i+1)+"반의 학생 수를 입력하세요 : ");
people[i] = numIn();
for(int j=0;j<people[i];j++) {
System.out.print("학생 이름을 입력하세요 : ");
name[i][j] = textIn();
for(int k=0; k< subnum ;k++) {
System.out.print(txt[k+3]+ " 성적을 입력하세요 : ");
score[i][j][k] = numIn();
}
}
}
}
static int numIn() {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
return num;
}
static String textIn() {
String txt;
Scanner sc = new Scanner(System.in);
txt = sc.next();
return txt;
}
static void result(int subnum, int classnum,String [][]name,int []people, int [][][]score ,float [][]avg) {
String []txt = { "class", "student", "name", "kr", "en", "math", "tot", "avg"}; //출력목록
for(int i=0;i<classnum;i++) {
for(String data : txt) {
System.out.print(data+"\t"); //리스트 출력
}
for(int j=0;j<people[i];j++) {
System.out.print("\n"+(i+1)+"\t"+people[i]+"\t");
System.out.print(name[i][j]+"\t");
for(int k=0; k<= subnum ;k++) {
System.out.print(score[i][j][k]+"\t");
}
System.out.print(avg[i][j]); //점수 및 인적 사항출력
}
System.out.println();
}
}
}