영상
문제
package 메서드1_문제;
/*
[문제]
1. 배열 answer는 시험문제의 정답지이다.
2. 배열 hgd에 1~5 사이의 랜덤 숫자 5개를 저장한다.
3. answer와 hgd 값을 비교해 정오표를 출력한다.
4. 한 문제당 20점이다.
예)
answer = {1, 3, 4, 2, 5}
hgd = {1, 1, 4, 4, 3}
정오표 = {O, X, O, X, X}
성적 = 40점
*/
public class 메서드1_문제04_OMR_문제 {
public static void main(String[] args) {
}
}
Java
복사
해설
package 메서드1_문제;
import java.util.Random;
/*
[문제]
1. 배열 answer는 시험문제의 정답지이다.
2. 배열 hgd에 1~5 사이의 랜덤 숫자 5개를 저장한다.
3. answer와 hgd 값을 비교해 정오표를 출력한다.
4. 한 문제당 20점이다.
예)
answer = {1, 3, 4, 2, 5}
hgd = {1, 1, 4, 4, 3}
정오표 = {O, X, O, X, X}
성적 = 40점
*/
class ScoreMng {
Random ran = new Random();
int[] omr = {1, 4, 3, 2, 2}; // 모범답안
int[] me = new int[5]; // 학생답안
int cnt = 0; // 정답 맞춘 개수
int score = 0; // 성적
// 1.me 답안 완성하기
void makeAnswer() {
for(int i=0; i<me.length; i++) {
me[i] = ran.nextInt(4) + 1; // [0 ~ 3] + 1
}
}
// 2.정답 출력하기
void showAnswer() {
// omr카드 출력
System.out.print("omr = [ ");
for(int i=0; i<omr.length; i++) {
System.out.print(omr[i] + " ");
}
System.out.println("]");
// me카드 출력
System.out.print("me = [ ");
for(int i=0; i<me.length; i++) {
System.out.print(me[i] + " ");
}
System.out.println("]");
}
// 3.정답 비교하기
void checkAnswer() {
cnt = 0;
System.out.print("정오표= [ ");
for(int i=0; i<omr.length; i++) {
if(omr[i] == me[i]) {
System.out.print("o ");
cnt += 1;
}else {
System.out.print("x ");
}
}
System.out.println("]");
score = 20 * cnt;
System.out.println("점 수 = " + score + "점");
}
}
public class 메서드1_문제04_OMR_정답 {
public static void main(String[] args) {
ScoreMng sm = new ScoreMng();
sm.makeAnswer();
sm.showAnswer();
sm.checkAnswer();
}
}
Java
복사