Day 7. 국비 첫 평가

ho_c·2022년 2월 24일
0

국비교육

목록 보기
7/71
post-thumbnail
post-custom-banner

드디어 첫 평가를 봤다. 과목은 서술형, 코드 작성 이렇게 2개였다.
떨리는 마음으로 시작했지만 초반 시험은 아직 쉬웠다.
점수도 하나는 89점, 코드 작성은 100점!!😆

코드 작성은 뭔가 까다로웠다. 출력만 보여주고 조건 10개에 맞춰서 작성해야되니까.
그래도 열심히 했고 한 단계를 끝냈다.

답안🙋

import java.util.Scanner;

public class Test_horse {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		// 변수
		int myMoney = 0;
		int inputMoney;
		int selectMenu = 0;
		int selectMenu2 = 0;
		int selecthorse;
		int moneyCharge;
		int randomNumber;

		while (true) {
			try {
				System.out.println("<<<<<< 경마게임에 오신 것을 환영합니다 >>>>>>");
				System.out.println(
						"1. 게임시작\n"
								+"2. 잔액충전\n"
								+"3. 잔액조회\n"
								+"4. 게임종료\n"
								+"메뉴를 선택해주세요");
				System.out.print(">> ");
				selectMenu = Integer.parseInt(scanner.nextLine());
				
			} catch (Exception e) {
				System.out.println("숫자만 입력하세요.");
			}

			// 예외 처리 (조건 8)
			if (!(selectMenu == 1 || selectMenu == 2 || selectMenu == 3 || selectMenu == 4) ) {
				System.out.println("메뉴를 다시 입력하세요.\n");
				continue;
			}
			// 게임 시작 (조건 5)
			if (selectMenu == 1) {
				System.out.println("\n게임을 시작합니다.");
				System.out.print(
						"1. 우승 경력이 많지만 은퇴를 앞둔 말\n"
								+"2. 이번달 성적이 제일 좋은 말\n"
								+"3. 최근 떠오르는 신예인 말\n");
				while (true) {
					System.out.print("배팅 하고 싶은 말을 선택해주세요.\n>> ");
					selecthorse = Integer.parseInt(scanner.nextLine());
					if (!(selecthorse == 1 || selecthorse == 2 || selecthorse == 3 )) {
						System.out.println("다시 입력하세요\n");
						continue;
					} else {
						break;
					}
				}
				while (true) {
					System.out.print("얼마를 배팅하시겠습니까? : ");
					inputMoney = Integer.parseInt(scanner.nextLine());
					if (inputMoney > myMoney) {
						System.out.println("잔액이 부족합니다.");
						System.out.print("잔액을 충전하시겠습니까? [1. yes /2. no]\n>> ");
						selectMenu2 = Integer.parseInt(scanner.nextLine());
						// 잔액 충전
						switch (selectMenu2) {
						case 1:
							System.out.print("얼마를 충전하시겠습니까? ");
							moneyCharge = Integer.parseInt(scanner.nextLine());
							myMoney += moneyCharge;
							System.out.println(moneyCharge + "원이 충전되었습니다.\n");
							break;
						case 2:
							continue;
						}						
					}else {
						myMoney -= inputMoney;
						break;
					}
				}
				// 결과 출력 (조건 6)
				randomNumber = (int)(Math.random()*3+1);
				// 6-1 : 승리
				if (randomNumber == selecthorse) {
					System.out.println(randomNumber+"번 말이 우승하였습니다.");
					System.out.println("배팅에 성공하였습니다..!");
					System.out.println("배팅한 금액의 2배인 " +(inputMoney*2)+"원을 획득하였습니다.\n");					
					myMoney += (inputMoney*2);
					continue;
				}
				// 6-2 : 패배
				else {
					System.out.println(randomNumber+"번 말이 우승하였습니다.");
					System.out.println("배팅에 실패하였습니다..!");
					System.out.println("배팅한 금액인 " +inputMoney+"원을 모두 잃습니다.\n");
					continue;
				}
			}
			// 잔액 충전 (조건 3)
			else if (selectMenu == 2) {
				System.out.print("얼마를 충전하시겠습니까? ");
				moneyCharge = Integer.parseInt(scanner.nextLine());
				myMoney += moneyCharge;
				System.out.println(moneyCharge + "원이 충전되었습니다.\n");
				continue;
			} 
			// 잔액 조회 (조건 2)
			else if (selectMenu == 3){
				System.out.println("현재 잔액은 " + myMoney + "원 입니다.\n");
				continue;
			}
			// 게임 종료 (조건 7)
			else if (selectMenu == 4) {
				System.out.println("게임을 종료합니다.");
				System.exit(0);
			}
		}
	}
}

후기😎

이제 언덕 한 개를 넘어선 느낌이다. 매일 공부해야지 하면서 생각만 하던 때와 달리 수업을 들으면서 실습을 하다보니 성장해나간다고 느낀다.
다만 교만하지 말고 같이 공부하는 이들로부터 더 많이 배워가면서 성장해야지✌

profile
기록을 쌓아갑니다.
post-custom-banner

0개의 댓글