개발 일기
JAVA 코딩 연습(배열 활용하여 코딩 연습 2!) 본문
배열을 사용하여 학생 점수 계산 코딩!!
public class PrimitiveTypeArrayStudentMain {
public static void main(String[] args) {
/*
* 배열 객체 초기화
*/
System.out.println("-----------학생데이타를 저장하기위한 배열 객체 생성 초기화-----------");
int[] noArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
String[] nameArray = {"KIM", "LEE", "PARK", "CHOI", "SIM", "GOO", "QIM", "WIM", "EIM", "RIM"};
int[] korArray = {99, 54, 55, 56, 57, 44, 43, 24, 99, 48};
int[] engArray = {99, 64, 15, 26, 37, 74, 53, 14, 29, 76};
int[] mathArray = {98, 44, 37, 71, 82, 23, 41, 97, 76, 87};
int[] totArray = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
double[] avgArray = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
char[] gradeArray = {'F','F','F','F','F','F','F','F','F','F'};
int [] rankArray = {1,1,1,1,1,1,1,1,1,1};
/*
* 총점, 평균, 평점 계산
*/
for (int i = 0; i < noArray.length; i++) {
totArray[i] = korArray[i]+engArray[i]+mathArray[i];
avgArray[i] = totArray[i]/3.0;
if(avgArray[i]>=90) {
gradeArray[i] = 'A';
}else if(avgArray[i]>=80) {
gradeArray[i] = 'B';
}else if(avgArray[i]>=70) {
gradeArray[i] = 'C';
}else if(avgArray[i]>=60) {
gradeArray[i] = 'D';
}else
gradeArray[i] = 'F';
}
/*
* 석차계산
*/
for(int i=0; i<noArray.length; i++) {
for(int j=0; j<noArray.length; j++) {
if(totArray[i]<totArray[j]) {
rankArray[i]++;
}
}
}
/*
* 3번 학생 찾아서 1명 정보출력(학생 번호는 중복되지 않는다.)
*/
System.out.println(">>3번 학생 찾아서 1명 정보출력(학생 번호는 중복되지 않는다.)");
for (int i = 0; i < noArray.length; i++) {
if(noArray[i]==3) {
System.out.printf("%3d %5s %4d %4d %4d %4d %5.1f %3c %4d%n",
noArray[i],nameArray[i],korArray[i],engArray[i],mathArray[i],totArray[i],avgArray[i],gradeArray[i],rankArray[i]);
break;
}
}
/*
* F학점 학생 모두 찾아서 여러명 정보출력
*/
System.out.println(">>F학점 학생 모두 찾아서 여러명 정보출력");
for (int i = 0; i < gradeArray.length; i++) {
if(gradeArray[i]=='F') {
System.out.printf("%3d %5s %4d %4d %4d %4d %5.1f %3c %4d%n",
noArray[i],nameArray[i],korArray[i],engArray[i],mathArray[i],totArray[i],avgArray[i],gradeArray[i],rankArray[i]);
}
}
System.out.printf("---------------학생 성적출력-------------------%n");
System.out.printf("%s %s %s %s %s %s %3s %s %s%n",
"학번","이름","국어","영어", "수학","총점","평균", "평점","석차");
System.out.printf("-----------------------------------------------%n");
for (int i = 0; i < noArray.length; i++) {
System.out.printf("%3d %5s %4d %4d %4d %4d %5.1f %3c %4d%n",
noArray[i],nameArray[i],korArray[i],engArray[i],mathArray[i],totArray[i],avgArray[i],gradeArray[i],rankArray[i]);
}
/*
* 오름차순 정렬 작업
*/
//1회 정렬
for(int i=0;i<noArray.length-1;i++) {
for(int j=0;j < noArray.length-1; j++) {
if(totArray[j] > totArray[j+1]) {
//총점 교환
int tempTot = totArray[j+1];
totArray[j+1] = totArray[j];
totArray[j] = tempTot;
//번호 교환
int tempNo = noArray[j+1];
noArray[j+1]=noArray[j];
noArray[j]=tempNo;
//이름 교환
String tempName = nameArray[j+1];
nameArray[j+1] = nameArray[j];
nameArray[j] = tempName;
//국어 교환
int tempKor = korArray[j+1];
korArray[j+1]=korArray[j];
korArray[j]=tempKor;
//영어 교환
int tempEng = engArray[j+1];
engArray[j+1]=engArray[j];
engArray[j]=tempEng;
//수학 교환
int tempMath = mathArray[j+1];
mathArray[j+1]=mathArray[j];
mathArray[j]=tempMath;
//평균 교환
double tempAvg = avgArray[j+1];
avgArray[j+1] = avgArray[j];
avgArray[j] = tempAvg;
//평점 교환
char tempGrade = gradeArray[j+1];
gradeArray[j+1] = gradeArray[j];
gradeArray[j] = tempGrade;
//랭크 교환
int tempRank = rankArray[j+1];
rankArray[j+1] = rankArray[j];
rankArray[j] = tempRank;
}
}
}
System.out.printf("---------------학생 성적출력[정렬후]-------------------%n");
System.out.printf("%s %s %s %s %s %s %3s %s %s%n",
"학번","이름","국어","영어", "수학","총점","평균", "평점","석차");
System.out.printf("-----------------------------------------------%n");
for (int i = 0; i < noArray.length; i++) {
System.out.printf("%3d %5s %4d %4d %4d %4d %5.1f %3c %4d%n",
noArray[i],nameArray[i],korArray[i],engArray[i],mathArray[i],totArray[i],avgArray[i],gradeArray[i],rankArray[i]);
}
}
}
오늘의 복습!!
배열 객체의 생성과 선언을 동시에 진행하여 학생 10명의 데이타를 정리하는 작업 진행!
'JAVA 연습장' 카테고리의 다른 글
JAVA 코딩 연습(포함을 사용해서 코딩하기!) (0) | 2021.06.13 |
---|---|
JAVA 코딩 연습(객체&배열 활용하여 코딩 연습 3!) (0) | 2021.06.12 |
JAVA 코딩 연습(배열의 특징&배열 활용하여 코딩 연습!!) (0) | 2021.06.10 |
JAVA 코딩 연습(static 제한자를 활용) (0) | 2021.06.09 |
JAVA 코딩 연습(매개변수 사용하여 계산) (0) | 2021.06.08 |
Comments