티스토리 뷰
- 파일의 내용이 그대로 출력
- 사용자의 입력 값을 기다리고 있다가 사용자가 입력이 완료되면 보유한 정답과 일치하는지 확인 후
- 정답 여부를 표시
퀴즈와 정답이 한 쌍으로 이루어져 있는 형태이기 때문에
두 줄씩 한꺼번에 불러와서 처리하는 방법도 좋은 생각이다.
same.txt는 직접 해보자
정답 파일(설명 포함)
Prac22.java
package 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("C:\\Inflearn_Spring\\sparta_java_park\\src\\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();
}
}
}
Saying.txt
(다른 문제를 내고 싶다면, 당연히 다른 텍스트를 입력해서 실행하면 됨)
세 살 __ 여든까지 간다.
버릇
소 잃고 ___ 고친다
외양간
천 리 길도 한 __ 부터
걸음
실행 결과 이미지
728x90
반응형
'[개발] - Java > 후발대' 카테고리의 다른 글
후발대 24일차 설명 추가(final) (0) | 2023.05.11 |
---|---|
후발대 24일차(마지막) 전체 코드 (0) | 2023.04.21 |
후발대 22일차(2), 23일차 설명 추가 (파일 입출력 이론) (0) | 2023.04.21 |
후발대 22일차(2), 23일차 전체 코드 (0) | 2023.03.19 |
후발대 22일차 설명 추가(thread) (0) | 2023.03.08 |
Comments