여러명의 성적을 처리하는 예제입니다.
--------------------------------------------------------------------
public class Score {
public static void main(String[] args){
// 성적
int[][]score={
{96,85,30},
{40,95,65},
{70,50,30},
{60,79,50},
{90,20,40}
};
double[] avg = new double[score.length]; //평균
int[][] data = new int[score.length][4]; //0총점1최대2최소3등수
System.out.println("순번\t국어\t영어\t수학\t총점\t평균\t최대\t최소\t등수");
for(int i=0;i<score.length;i++){
data[i][1] = score[i][0]; // 최대초기화
data[i][2] = score[i][0]; // 최소초기화
for(int j=0;j<score[i].length;j++){
data[i][0]+=score[i][j];
data[i][1] = Math.max(data[i][1], score[i][j]);
data[i][2] = Math.min(data[i][2], score[i][j]);
}
avg[i] = data[i][0]/(double)score[i].length;
data[i][3] = 1; // 등수 초기화
}
//등수부여
for (int k = 0; k < data.length; k++) {
for (int i = 0; i < data.length; i++) {
if (data[k][0] < data[i][0]) {
data[k][3]++;
}
}
}
for(int i=0;i<score.length;i++){
System.out.print(i+1+"\t"); //순번
for(int j=0;j<score[i].length;j++){
System.out.print(score[i][j]+"\t"); //과목
}
System.out.print(data[i][0]+"\t"); // 총점
System.out.printf("%.1f\t",avg[i]); // 평균
System.out.print(data[i][1]+"\t"); // 최대
System.out.print(data[i][2]+"\t"); // 최소
System.out.print(data[i][3]+"\t"); // 등수
System.out.println();
}
}
}
'자바' 카테고리의 다른 글
Swing 디지털 시계2 - Timer 이용 (0) | 2016.09.21 |
---|---|
Swing 디지털 시계1 - Thread 이용 (0) | 2016.09.21 |
성적입력3 [do while문으로 성적 입력, switch문으로 학점 체크] (0) | 2016.09.20 |
성적입력2[switch문으로 학점체크] (0) | 2016.09.20 |
성적입력1[if문으로 학점체크] (0) | 2016.09.19 |