본문 바로가기
자바과정/Java

Java 실습(성적처리프로그램:배열) - 3일차

by Parkej 2021. 2. 1.
import java.util.Scanner;
public class test2 {

	public static void main(String[] args) {
		/*
		 *  사람수를 입력해서 학생수만큼 성적처리
		 *  //구조
		 *  1. 몇명? 숫자입력
		 *  2. 이름,국,영,수 사람수대로 입력
		 *  3. 사람수대로 총점,평균
		 *  4. 전체출력
		*/
		// 실습 3일차
		
		// 정의 
		String []name; // 이름
		int [][]score; // 국,영,수,총
 		float []avg;   // 평균
 		
		int n=0;
		// 입력
		
		Scanner sc = new Scanner(System.in);
 		
 		System.out.print("성적을 입력할 학생 수 : ");
 		n = sc.nextInt();
 		
 		name = new String[n];
		score = new int[n][4];
		avg = new float[n];
		
		// 연산
 		for(int i = 0;i<n;i++) {
 		 name[i] = sc.next();
 		 for(int j=0;j<(score[i].length)-1;j++) {
 			score[i][j] = sc.nextInt(); // 국 영 수 입력
 			score[i][3] += score[i][j]; // 각 학생의 총점
 		 }
 		 avg[i] = score[i][3]/3.0f; // 성적 평균 구하기
 		}
 		
 		// 출력
 		for(int i=0;i<n;i++) {
 			System.out.println("이름 : " + name[i]);
 			System.out.println("국어 : " + score[i][0]);
 			System.out.println("영어 : " + score[i][1]);
 			System.out.println("수학 : " + score[i][2]);
 			System.out.println("총점 : " + score[i][3]);
 			System.out.println("평균 : " + avg[i]);
 		}
	}

}

 

 

 

강의 코드

import java.util.Scanner;

public class test22 {
	public static void main(String[] args) {
		// 강사님 코드
		String []name;
		int [][]score;
		float []avg;
		
		int num;
		String []scoName = {"Name","Kor","Eng","Mat","Total","Avg"};
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("학생 수: ");
		num = sc.nextInt();
		
		name = new String[num]; // 객체 아직 안만듦 객체를 입력할 수 있는 레퍼런스를 만든것.
		score = new int[num][4];
		avg = new float[num];
		
		for(int i=0;i<name.length;i++) {
			System.out.println(scoName[0]+" input: ");
			name[i] = sc.next();
			for(int j=0;j<score[i].length-1;j++) {
				System.out.println(scoName[j+1]+" input: ");
				score[i][j] = sc.nextInt();
				score[i][3] += score[i][j];
			}
			avg[i] = score[i][3] / 3.f;
		}
		
		for(String str:scoName) {
			System.out.print(str+'\t');
		}
		System.out.println();
		
		for(int i=0;i<name.length;i++) {
			System.out.print(name[i]+'\t');
			
			for(int j=0;j<score[i].length;j++) {
				System.out.print(score[i][j]+"\t");
			}
			System.out.print(avg[i]);
		}
	}
}
반응형

댓글