[문제 - 성적프로그램 OX 표시하기]
Jumsu클래스 생성 후 실습
** 시험결과 **
====================================
번호 이름 1 2 3 4 5 점수 등수
------------------------------------
1 홍길동 O X O O O 80 2
2 무궁화 O O O O O 100 1
3 라일락 X X X X O 20 5
4 진달래 X O X O O 60 3
5 봉선화 O O X X X 40 4
------------------------------------
- 맞은문제 O, 틀린문제 X표시
- 점수: O당 20점씩
- 등수: 점수를 기준으로 높은사람이 1등
1) 1명을 대상으로 성적 구하기
2) 5명의 성적 구하기
[풀이]
1) 1명을 대상으로 성적 구하기
Jumsu student=new Jumsu(1, "홍길동", 3, 4, 3, 3, 3);
student.compute();
student.disp();
2) 5명의 성적 구하기
Jumsu[] student= {
new Jumsu(1, "홍길동", 3, 4, 3, 3, 3)
,new Jumsu(2, "무궁화", 3, 3, 3, 3, 3)
,new Jumsu(3, "라일락", 1, 2, 4, 4, 3)
,new Jumsu(4, "진달래", 2, 3, 1, 3, 3)
,new Jumsu(5, "봉선화", 3, 3, 4, 1, 1)
};
int size=student.length;
//OX표시하고 점수 계산하기
for(int i=0; i<size; i++) {
student[i].compute();
}//for end
//문제)student배열의 score를 기준으로 등수 구하기
for(int a=0; a<size; a++) {
for(int b=0; b<size; b++) {
if(student[a].score<student[b].score) {
student[a].rank=student[a].rank+1;
}
}//for end
}//for end
//출력하기
for(int i=0; i<size; i++) {
student[i].disp();
}//for end
[Jumsu 클래스]
package oop0317;
public class Jumsu {
//멤버변수 field
private int no; //번호
private String name; //이름
private char[] ox=new char[5]; //OX표시
private int[] answer=new int[5]; //답안지 제출
public int score; //점수
public int rank; //등수
//생성자함수 constructor
public Jumsu() {}
public Jumsu(int no, String name, int a0, int a1, int a2, int a3, int a4) {
this.no=no;
this.name=name;
this.answer[0]=a0;
this.answer[1]=a1;
this.answer[2]=a2;
this.answer[3]=a3;
this.answer[4]=a4;
this.rank=1;
}//end
//멤버함수 method
public void compute() {
//정답
int[] dap= {3, 3, 3, 3, 3};
//문제)
//정답(dap)과 제출한 답안(answer)를 비교해서
//ox를 구하고, 맞은 갯수에 따라 점수(score)를 구하시오
/*
if(dap[0]==answer[0])
if(dap[1]==answer[1])
if(dap[2]==answer[2])
if(dap[3]==answer[3])
if(dap[4]==answer[4])
*/
for(int i=0; i<5; i++) {
if(dap[i]==answer[i]) {
ox[i]='o';//맞았을때
score=score+20;
}else {
ox[i]='x';//틀렸을때
}//if end
}//for end
}//compute() end
public void disp() {
System.out.print(no+" ");
System.out.print(name+" ");
System.out.print(ox[0]+" ");
System.out.print(ox[1]+" ");
System.out.print(ox[2]+" ");
System.out.print(ox[3]+" ");
System.out.print(ox[4]+" ");
System.out.print(score+" ");
System.out.print(rank+" ");
System.out.println();
}//disp() end
}//class end
'Backend > JAVA' 카테고리의 다른 글
[JAVA] override (0) | 2023.03.20 |
---|---|
[JAVA] 상속 (Inheritance) (0) | 2023.03.20 |
[JAVA] wrapper (0) | 2023.03.20 |
[JAVA] final (0) | 2023.03.20 |
[JAVA] static (0) | 2023.03.16 |