정렬이 제대로 안되는데 이유를 찾을수 있을까요?
가막새
import java.util.Scanner;
public class GradeManager { public static void main(String args[]) { Scanner input=new Scanner(System.in); Student[] stu=new Student[3]; Subject[][] sub=new Subject[3][3];
int i,j; for(i=0;i3;i++) for(j=0;j3;j++) sub[i][j]=new Subject(); System.out.println(과목명을 입력하시오.);
for(i=0;i3;i++) { System.out.printf(%d번째 과목 : ,i+1); sub[i][0].subName=input.next(); } System.out.println(); for(i=0;i3;i++) { stu[i]=new Student(); System.out.print((i+1)+번째 학생의 이름 : ); stu[i].name=input.next(); System.out.println((i+1)+번째 학생의 점수 입력);
for(j=0;j3;j++) { System.out.printf(%s 점수 : ,sub[j][0].subName); sub[i][j].setScore(); } System.out.println(); } int[] rank={0,1,2}; int temp; for(i=0; i3; i++){ for(j=1; j3; j++){ if(stu[i].getAverage(sub[i][0].score,sub[i][1].score,sub[i][2].score)stu[j].getAverage(sub[j][0].score,sub[j][1].score,sub[j][2].score)) { temp = rank[j-1]; rank[j-1] = rank[j]; rank[j] = temp; } } } for(i=0;i3;i++) { System.out.println(stu[rank[i]].name+학생의 성적); System.out.printf(평균점수 : %.2f, 등수 : %d등\n, stu[rank[i]].getAverage(sub[rank[i]][0].score,sub[rank[i]][1].score,sub[rank[i]][2].score),i+1); for(j=0;j3;j++) { System.out.printf(%s : %d점, %s\n,sub[j][0].subName,sub[rank[i]][j].getScore(),sub[rank[i]][j].getGrade());
} } }}
성적처리 프로그램 짰는데
빨간색 부분을 정렬부분이라고 짰습니다.
그런데 자꾸 출력이 똑바로 안나오네요;;
제일 큰것만 바로 나오고 나머지것들이 제대로 안됩니다.
이유를 알수 있을까요??ㅠㅠ
-
도리도리
stu[].getAverage(... 이부분에서 평균 계산이 제대로 되는지 확인이 필요한것 같습니다.