과거⚰️
실습예제
아무루
2020. 12. 26. 18:54
package chap8_day03_실습1;
public class _MainTest {
public static void main(String[] args) {
ScoreList scoreList = new ScoreList();
scoreList.addScore(new Score("홍길동", 100, 100, 99));
scoreList.addScore(new Score("임꺽정", 88, 75, 91));
scoreList.addScore(new Score("장길산", 65, 74, 69));
scoreList.addScore(new Score("일지매", 85, 78, 91));
scoreList.addScore(new Score("이몽룡", 89, 58, 73));
System.out.println(scoreList);
}
}
package chap8_day03_실습1;
public class Score {
public static int count; // 객체가 생성될 때 마다 자동으로 1씩 증가시킬 변수
private int no; // 번호, 자동증가
private String name; // 이름
private int java; // java 점수
private int jsp; // jsp 점수
private int spring; // spring 점수
private int total; // 총점
private double average; // 평균
private int rank = 1; // 석차, 석차를 계산할 기억 장소의 초기치는 무조건 1로 한다.
public Score() { }
public Score(String name, int java, int jsp, int spring) {
count += 1;
no = count;
this.name = name;
this.java = java;
this.jsp = jsp;
this.spring = spring;
total = java + jsp + spring;
average = (double) total / 3;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getJava() {
return java;
}
public void setJava(int java) {
this.java = java;
}
public int getJsp() {
return jsp;
}
public void setJsp(int jsp) {
this.jsp = jsp;
}
public int getSpring() {
return spring;
}
public void setSpring(int spring) {
this.spring = spring;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public double getAverage() {
return average;
}
public void setAverage(double average) {
this.average = average;
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
this.rank = rank;
}
@Override
public String toString() {
return String.format("%d %s %3d %3d %3d %3d %6.2f %d", no, name, java, jsp, spring, total, average, rank);
}
}
package chap8_day03_실습1;
import java.util.ArrayList;
public class ScoreList {
private ArrayList<Score> scoreList = new ArrayList<>();
public ArrayList<Score> getScoreList() {
return scoreList;
}
public void setScoreList(ArrayList<Score> scoreList) {
this.scoreList = scoreList;
}
@Override // 마크를 붙여주면 확실히 확인가능하다.
public String toString() {
String str = "";
str += "===============================================================\n";
str += " 번호 이름 java jsp spring 총점 평균 석차 \n";
str += "===============================================================\n";
// 석차를 계산한다.
for(int i=0 ; i<scoreList.size()-1 ; i++) {
for(int j=i+1 ; j<scoreList.size() ; j++) {
if(scoreList.get(i).getTotal() > scoreList.get(j).getTotal()) {
// i번째 총점이 크면 j번째 석차를 증가시킨다.
scoreList.get(j).setRank(scoreList.get(j).getRank() + 1);
}
if(scoreList.get(i).getTotal() < scoreList.get(j).getTotal()) {
// j번째 총점이 크면 i번째 석차를 증가시킨다.
scoreList.get(i).setRank(scoreList.get(i).getRank() + 1);
}
}
}
for(Score vo : scoreList) {
str += vo + "\n";
}
str += "===============================================================\n";
return str;
}
// ArrayList에 인수로 넘겨받은 성적을 추가하는 메소드
public void addScore(Score vo) {
scoreList.add(vo);
}
}