[Java1000제] Simple Quiz 1 - 간단한 다지선다형 문제

유콩·2021년 12월 7일
0

문제

[문제1] 주어진 문자열 데이터를 가지고 실행결과와 같이 출력되도록 코드를 완성하세요.
데이터의 형식은 문제, 답, 선택지의 순서로 되어 있으며 구분자는 `(숫자1옆의 키)입니다.

[예제QuizEx1.java]

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

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

                   // 1. String클래스의 String[] split(String regex, int limit)를 사용해서 문제와 선택지를 나누세요.

                   // 2. 문제를 출력하세요.

                   // 3. 선택지를 나누기 위해 String[] split(String regex)를 사용하세요.

                   // 4.반복문을 이용해서 선택지를 출력하세요.

            }
      } // main
}

[실행결과]

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

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

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

https://cafe.naver.com/javachobostudy/24680

나의 풀이

문제에서 주어진 split 메소드를 이용하여 조건 그대로 표현하였다.

class QuizEx1 {
    public static void main(String[] args) {
        final String SPLIT = "`";
        final int LIMIT = 3;

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

        String question = "";
        String correctAnswer = "";
        String answer = "";

        for (int i = 0; i < data.length; i++) {
            String[] temp = data[i].split(SPLIT, LIMIT);
            question = temp[0];
            correctAnswer = temp[1];
            answer = temp[2];

            System.out.println(question);

            String[] answers = answer.split(SPLIT);

            for (int j = 0; j < answers.length; j++) {
                int number = j + 1;
                System.out.print(number + "." + answers[j] + " ");
            }
            System.out.println();
            System.out.println();
        }
    }
}

저자 풀이

심플퀴즈 2번 문제를 가져왔다. 푼 방식은 동일하다. 😁

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
}

0개의 댓글

관련 채용 정보