본문 바로가기
IT/Java

Java (배열 성적처리 프로그램)

by hjshims 2021. 5. 11.

 

 

package p0511;

import java.util.Scanner;

public class ArrayScore {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		int i=0,j=0;
		
		System.out.print("인원수를 입력하세요. ");
		int inwon = scan.nextInt();
		
		String[] name = new String[inwon];
		int[] kor = new int[inwon];
		int[] eng = new int[inwon];
		int[] math = new int[inwon];
		int[] tot = new int[inwon];
		double[] avg = new double[inwon];
		int[] rank = new int[inwon];
		
		for(i=0; i<inwon; i++) {
			System.out.print(i+1+"번째 사람 이름= ");
			name[i] = scan.next();
			System.out.print(i+1+"번째 사람 국어= ");
			kor[i] = scan.nextInt();
			System.out.print(i+1+"번째 사람 영어= ");
			eng[i] = scan.nextInt();
			System.out.print(i+1+"번째 사람 수학= ");
			math[i] = scan.nextInt();
			
			tot[i]=kor[i]+eng[i]+math[i];	//합계
			avg[i]=tot[i]/3;	//평균
			rank[i]=1;		//입력된 인원들 모두 처음에는 석차를 1등으로 저장
		}
		
		for(i=0; i<inwon; i++) {
			for(j=0; j<inwon; j++) {
				if(tot[i]<tot[j]) {		
					//합계 배열 안에 있는 점수를 계산해서 나보다 점수가 크면 내 석차에 1증가(등수가 밀려나는거)
					rank[i]++;
				}
			}
		}
		
		System.out.println("====================성적처리 결과======================");
		System.out.println("이름\t국어\t영어\t수학\t합계\t평균\t석차");
		System.out.println("====================================================");
		for(i=0; i<name.length; i++) {
			System.out.printf("%s\t%3d\t%3d\t%3d\t%3d\t%.1f\t%3d\n",name[i],kor[i],eng[i],math[i],tot[i],avg[i],rank[i]);
		}
		System.out.println("===================성적처리 결과 끝=====================");
		
	}

}

 

<출력결과>

'IT > Java' 카테고리의 다른 글

Java (2차원 배열2)  (0) 2021.05.11
Java (2차원 배열)  (0) 2021.05.11
Java (랜덤 배열 카드게임)  (0) 2021.05.10
Java (문자열 입력 히스토그램)  (0) 2021.05.10
Java (정수 입력 히스토그램)  (0) 2021.05.10