Java-StringSplit2

[Java1000제] 문자열 나누어 문제 출제하기 2 String[] split

[Java1000제] String split 에서 완성된 코드에 사용자 입력을 받아서 정답여부를 판단하여 마지막에 최종점수를 실행결과와 같이 출력하도록 코드를 완성하세요.

문제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.*;

class QuizEx2 {
public static void main(String[] args) {
String[] data = {
"다음 중 키워드가 아닌 것은?`2`final`True`if`public",
"다음 중 자바의 연산자가 아닌 것은?`6`&`|`++`!=`/`^",
"다음 중 메서드의 반환값이 없음을 의미하는 키워드는?`1`void`null`false`",
};

Scanner s = new Scanner(System.in);
int score = 0;

for(int i=0;i < data.length;i++) {
String[] tmp = data[i].split("`",3);

String question = tmp[0];
String answer = tmp[1];
String[] choices = tmp[2].split("`");

System.out.println("["+(i+1)+"] "+question);

for(int x=0;x < choices.length;x++) {
System.out.print((x+1)+"."+choices[x]+"\t");
}
System.out.println();


/*

알맞은 코드를 넣으세요.

*/



System.out.println();
System.out.println();
}


// 알맞은 코드를 넣으세요.

} // main
}







[실행결과]

[1] 다음 중 키워드가 아닌 것은?
1.final 2.True 3.if 4.public
[답]2


[2] 다음 중 자바의 연산자가 아닌 것은?
1.& 2.| 3.++ 4.!= 5./ 6.^
[답]6


[3] 다음 중 메서드의 반환값이 없음을 의미하는 키워드는?
1.void 2.null 3.false
[답]1


정답개수/전체문항수 :3/3


해답

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import java.util.Scanner;

public class MainStudy {

public static void main(String[] args) {
String[] data = {
"다음 중 키워드가 아닌 것은?`2`final`True`if`public",
"다음 중 자바의 연산자가 아닌 것은?`5`&`|`++`!=`/`^",
"다음 중 메서드의 반환값이 없음을 의미하는 키워드는?`1`void`null`false",
};
// 총 점수를 저장할 변수를 선언한다.
int score = 0;

for(int i=0;i<data.length;i++) {

// 1. 문제, 정답, 선택지로 나눕니다
String[] tmp = data[i].split("`", 3);
String question = tmp[0];
String answer = tmp[1];
String[] choices = tmp[2].split("`");

// 2. 문제를 출력합니다.
System.out.println("["+(i+1)+"] "+question);

// 3.반복문을 이용해서 선택지를 출력하세요.
for (int j = 0; j < choices.length; j++) {
System.out.print(j+1+". "+choices[j]+ "\t");
}

// 4.사용자의 정답을 입력받는다.
Scanner scan = new Scanner(System.in);
System.out.println();
System.out.print("[답]");
String _answer = scan.nextLine();

//정답을 맟추면 score 점수가 1 증가한다.
if(answer.equals(_answer)) {
score++;
}

scan.close();
System.out.println();
System.out.println();
}

System.out.println("정답개수/전체문항수 :" + score + "/" + data.length);
} // main

}

문제를 풀어가면서 점점 자바가 친숙해져 가네요! 앞으로도 계속 문제를 풀어나가도록 하겠습니다!

Reference

Share