코드 그라데이션

후발대 24일차(마지막) 전체 코드 본문

Java/후발대

후발대 24일차(마지막) 전체 코드

완벽한 장면 2023. 4. 21. 01:40

퀴즈 속담 퀴즈 프로그램을 작성하시오. (파일명: Prac22.java)

 

조건 

- 퀴즈 내용은 saying.txt 라는 이름의 파일로 제공.

- 퀴즈는 문제와 정답이 각각 한줄로 구성 (퀴즈 3개인 경우 총 6줄).

- 사용자로부터 값을 입력받아 정답 여부 확인.

- 오답인 경우 정답 안내 . 퀴즈 내용이 더 이상 없을때까지 반복

 

 

퀴즈 파일 (saying.txt) 예시

 

실행결과

 

힌트

 

주석 내용

// 속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하시오. (주관식)

// ------------------------------------------------

// (문제) 세 살 __ 여든까지 간다

// 정답 입력 => 버릇

// 정답입니다!!!

//

// (문제) 소 잃고 ___ 고친다

// 정답 입력 => 화장실

// 틀렸습니다. 정답은 외양간입니다.

//

// (문제) 천 리 길도 한 __부터 // 정답 입력 => 걸음

//

// ---------------------------------------------------

// 모든 퀴즈가 완료되었습니다.

// 수고하셨습니다. ^^

 

 

파일입출력 실습 코드

package com.sparta.hbd04.prac01.prac22;
// 속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하시오. (주관식)
// ------------------------------------------------
// (문제) 세 살 __ 여든까지 간다
//  정답 입력 => 버릇
// 정답입니다!!!
//
// (문제) 소 잃고 ___ 고친다
//  정답 입력 => 화장실
// 틀렸습니다. 정답은 외양간입니다.
//
// (문제) 천 리 길도 한 __부터
// 정답 입력 => 걸음
//
// ---------------------------------------------------
// 모든 퀴즈가 완료되었습니다.
// 수고하셨습니다. ^^

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Scanner;

public class Prac22 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        try (BufferedReader br = new BufferedReader(new FileReader("D:\\Springcore\\hbd04\\src\\main\\java\\com\\sparta\\hbd04\\prac01\\prac22\\saying.txt"))) {
            System.out.println("속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하시오. (주관식)");
            System.out.println("---------------------------------------------------");

            String quiz; // 문제
            String answer; // 정답
            String input; // 입력

            while (true) {
                quiz = br.readLine();
                answer= br.readLine();
                if(quiz == null || answer == null) {
                    break;
                }
                System.out.println("(문제) " + quiz);
                System.out.print(" 정답 입력 => ");
                input = sc.next();
                if(input.equals(answer)) {
                    System.out.println("정답입니다!!!\n");
                } else {
                    System.out.println("틀렸습니다. 정답은 " + answer + "입니다.\n");
                }
            }
            System.out.println("---------------------------------");
            System.out.println("모든 퀴즈가 완료되었습니다.");
            System.out.println("수고하셨습니다. ^^");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

출력

_02_OutPut

package com.sparta.hbd04.prac01.prac22;

public class _02_Output {
    public static void main(String[] args) {
        System.out.printf("------- 정수 --------");
//        System.out.printf("포맷", 값1, 값2, 값3, ....);
        System.out.printf("%d%n", 1); // 1
        System.out.printf("%d %d %d%n", 1, 2, 3); // 1 2 3
        System.out.printf("%d%n", 1234); // 1234
        System.out.printf("%6d%n", 1234); // __1234 (6자리의 공간을 확보하고 나서 1234 출력)
        System.out.printf("%06d%n", 1234); // 001234 (6자리의 공간 확보 후 1234 출력하는데 빈공간은 0으로 채움)
        System.out.printf("%6d%n", -1234); // _-1234
        System.out.printf("%+6d%n", 1234); // _+1234 //(항상 기호 표시)
        System.out.printf("%,15d%n", 1000000000); // __1,000,000,000 //(세자리마다 콤마로 구분)
        System.out.printf("%-6d%n", 1234); // 1234__ (6자리의 공간을 확보하고 나서 왼쪽 정렬 1234 출력)
    }
}


				System.out.println("---------- 실수 -----------");
        System.out.printf("%f%n", Math.PI); // 3.141593 (일반 출력)
        System.out.printf("%.2f%n", Math.PI); // 3.14 (소수점 둘째자리)
        System.out.printf("%6.2f%n", Math.PI); // __3.14 (6자리 공간 확보하고 소수점 둘째자리)
        System.out.printf("%-6.2f%n", Math.PI); // 3.14__ (왼쪽 정렬)
        System.out.printf("%06.2f%n", Math.PI); // 003.14 (빈 공간을 0으로 채우기)
        System.out.printf("%+6.2f%n", Math.PI); // _+3.14 (항상 +- 기호 표시)


				System.out.println("------ 문자열 --------");
        System.out.printf("%s%n", "Java"); // Java (일반 출력)
        System.out.printf("%6s%n", "Java"); // __Java (6자리 공간 확보하고 우측 정렬)
        System.out.printf("%-6s%n", "Java"); // Java__ (6자리 공간 확보하고 좌측정렬)
        System.out.printf("%6.2s%n", "Java"); // ____Ja (6자리 공간 확보하고 우측 정렬해서 2글자 출력)
        System.out.printf("%-6.2s%n", "Java"); // ____Ja (6자리 공간 확보하고 좌측 정렬해서 2글자 출력)

        System.out.println("-------응용 ---------");
        System.out.println("이름 영어 수학 평균");
        System.out.println("강백호 " + 90 + " " + 80 + " " + 85.0); // 강백호 90 80 85.0
        System.out.println("서태웅 " + 100 + " " +  100 + " " + 100.0); // 서태웅 100 100 100.0
        System.out.println("채치수 " + 90 + " " + 100 + " " + 95.0); // 채치수 95 100 97.5

        System.out.println("-------응용2 --------");
        System.out.println("이름      영어   수학   평균"); // 공백이 각각 6,3,3 칸으로 구분
        System.out.printf("%-6s %4d %4d %6.1f%n", "강백호", 90, 80, 85.0);
        System.out.printf("%-6s %4d %4d %6.1f%n", "서태웅", 100, 100, 100.0);
        System.out.printf("%-6s %4d %4d %6.1f%n", "채치수", 95, 100, 97.5);

 

728x90
Comments