[JAVA] 연습문제

안녕하세요 IT뽀로로 입니다.

 

심심풀이로 <명품 JAVA Programming> 책에 있던 재밌는 문제를 하나 가져와밨습니다.

 

문제는 바로 다음과 같습니다.

 

============================================================

!!숨겨진 카드의 수를 맞추는 게임!!

 

조건 : 0에서 99까지의 임의의 수를 가진 카드를 한 장 숨기고 이 카드의 수를 맞추는 게임이다.

 

EX) 임의의 수가 55라고 할 경우 입력값이 55보다 작을 경우 "더 높게" 라고 출력되며 

     입력값이 55보다 클 경우 "더 작게" 라고 출력된다.

     정답일 경우 "다시 하시겠습니까?(y/n)"라고 물어보고 "y"일 경우 재시작 된다.

 

===========================================================================

UI는 다음을 참고하시면 될거 같아요.

 

여러분도 재밌게 풀어보세요 !!

 

 

 

제가 작성한 코드는 아래와 같이 작성했네요 ㅎㅎ 

 

import java.util.Random;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Random r = new Random();
		Scanner s = new Scanner(System.in);
		
		int randomCounter = r.nextInt(100);
		System.out.println(randomCounter);
		
		while(true) {
			int tryCount = 1; 									//시도 회수를 세기 위한 변수
			System.out.println("수를 결정하였습니다. 맞추어 보세요");
			System.out.println("0~99");
		
			while(true) {
				int inputNumber;								//사용자의 입력을 받을 변수
				
				System.out.print(tryCount++ + ">>");
				inputNumber = s.nextInt();						//숫자 입력 받음
				
				if(inputNumber == randomCounter) {				//정답일 경우
					System.out.println("맞았습니다.");
					System.out.print("다시하시겠습니까?(y/n)>>");
					if(s.next().equals("y")){
						break;
					}
					else return;
				}
				else if(inputNumber > randomCounter) {			//사용자 입력값이 더 클 경우
					System.out.println("더 낮게");
				}
				else if(inputNumber < randomCounter) {			//사용자 입력값이 더 작을 경우
					System.out.println("더 높게");
				}
			}
		}
		
	}

}

 

References. 명품 Java Programming

'IT Study > JAVA' 카테고리의 다른 글

[JAVA] 7.클래스와 객체  (0) 2019.08.31
[JAVA] 6.객체지향 언어의 특성  (0) 2019.08.31
[JAVA] 5.JAVA의 예외처리  (0) 2019.08.30
[JAVA] 4.main() 메소드의 특징  (0) 2019.08.27
[JAVA] 3.for문과 for-each 문  (0) 2019.08.27