안녕하세요 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 |