on
[JAVA jdk 1.8] 06. 홀짝맞추기
[JAVA jdk 1.8] 06. 홀짝맞추기
if문과 switch문을 이용하여 간단한 홀짝 맞추기 게임을 만들었다.
import java.util.Scanner; // Scanner객체 사용을 위해 호출 public class OddNumberEvenNumber { public static void main(String[] args) { // 구슬치기 (홀, 짝) // Math.random(); 을 이용하여 시스템에 랜덤숫자를 받는다. // 1~10 까지의 숫자중 랜덤이 나오고 2의 배수는 짝수임을 이용한다. // if문을 이용하여 홀짝을 구분하고 결과를 출력한다. // 난수생성 -> 난수가 홀인지 짝인지 판별후 한곳에저장(oddeven) -> // 메인메시지 출력 -> 사용자 입력받기 -> oddeven과 사용자입력 비교후 결과출력 // 입력객체 생성 Scanner scanner = new Scanner(System.in); // 구슬 갯수를 주머니에 넣는다. int pocket = 0; // 유저의 입력값을 받을 변수를 선언한다. String userAnswer = ""; // randomValue의 값이 홀인지 짝인지 판별한 값을 저장하는 변수이다. String oddeven = ""; // 조건에 true를 넣을시 무한반복 while (true) { // Math.random 메서드는 double타입 숫자로만 받을 수 있기 때문에 // Math.random 메서드를 double타입 변수에 저장한다. double randomValue = Math.random(); // 1개 ~ 10개 사이의 랜덤한 구슬을 저장한다. pocket = (int) (randomValue * 10) + 1; // 만약 pocket의 값이 2의 배수가 아니면 oddeven에 "1"(홀)을 저장. if(pocket%2 != 0) oddeven = "1"; // 만약 pocket의 값이 2의 배수이면 oddeven에 "2"(짝)을 저장. else if(pocket%2 == 0) oddeven = "2"; // 안내 메시지 출력 System.out.print("1. 홀 2. 짝 3. 종료(숫자를 입력하세요)>>"); // 사용자의 입력을 받는다. userAnswer = scanner.nextLine(); // 사용자 입력(userAnswer)에 따라 각 case들을 실행한다. switch(userAnswer) { // 사용자가 홀수를 선택시 case "1": System.out.println("당신은 홀수를 선택하였습니다!"); // 구슬 갯수 출력 System.out.print("구슬>>" + pocket + "개"); // 주머니의 구슬 갯수가 홀수이면 "홀" 출력 if(oddeven == "1") System.out.println(" >>> 홀!"); // 주머니의 구슬 갯수가 짝수이면 "짝" 출력 else if(oddeven == "2") System.out.println(" >>> 짝!"); // 사용자 입력값과 주머니의 홀짝결과가 같으면 정답. if(userAnswer.equals(oddeven)) System.out.println("축하합니다 정답입니다."); // 사용자 입력값과 주머니의 홀짝결과가 다르면 오답. else if(!userAnswer.equals (oddeven)) System.out.println("틀렸습니다."); // 줄바꿈 System.out.println(); break; // 사용자가 짝수를 선택시 case "2": System.out.println("당신은 짝수를 선택하였습니다!"); // 구슬 갯수 출력 System.out.print("구슬>>" + pocket + "개"); // 주머니의 구슬 갯수가 홀수이면 "홀" 출력 if(oddeven == "1") System.out.println(" >>> 홀!"); // 주머니의 구슬 갯수가 짝수이면 "짝" 출력 else if(oddeven == "2") System.out.println(" >>> 짝!"); // 사용자 입력값과 주머니의 홀짝결과가 같으면 정답. if(userAnswer.equals(oddeven)) System.out.println("축하합니다 정답입니다."); // 사용자 입력값과 주머니의 홀짝결과가 다르면 오답. else if(!userAnswer.equals (oddeven)) System.out.println("틀렸습니다."); // 줄바꿈 System.out.println(); break; // 사용자가 프로그램 종료를 선택시 case "3": // 입력객체를 닫는다. scanner.close(); // 종료메시지 System.out.println("프로그램을 종료합니다."); // 시스템 완전종료 System.exit(0); break; // 그 외의 값들 default: // 오류메시지 출력 System.out.println("잘못된 입력입니다."); break; } } // while문 끝 }// main }// class
결과
from http://javaya.tistory.com/8 by ccl(A) rewrite - 2021-11-28 13:28:25