[개발] - 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
반응형