import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
public class upAndDown {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
Random r = new Random(); //임의의 수를 발생시키는 방법으로 Random클래스 사용
while(true) {
int max=99,min=0;
int cnt=1;
int guessNum = r.nextInt(100); //0-99까지 임의의 정수 생성
System.out.println("수를 결정하였습니다. 맞추어보세요");
while(true) {
System.out.println(min+"-"+max);
System.out.print(cnt+">>");
int num = 0;
try {
num = sc.nextInt();
}
catch(InputMismatchException e) {
System.out.println("정수가 아닙니다. 다시입력하세요!");
sc.next();
continue;
}
if(num>guessNum) {
System.out.println("더 낮게");
max=num;
}
else if(num<guessNum) {
System.out.println("더 높게");
min=num;
}
else if(num==guessNum) {
System.out.println("맞았습니다.");
break;
}
cnt++;
}
System.out.print("다시하겠습니까(y/n)>>");
String text = sc.next();
if(text.equals("y")) {
continue;
}
if(text.equals("n")) {
break;
}
}
}
}
결과
수를 결정하였습니다. 맞추어보세요
0-99
1>>50
더 낮게
0-50
2>>25
더 높게
25-50
3>>36
더 높게
36-50
4>>46
더 낮게
36-46
5>>38
맞았습니다.
다시하겠습니까(y/n)>>y
수를 결정하였습니다. 맞추어보세요
0-99
1>>y
정수가 아닙니다. 다시입력하세요!
0-99
1>>30
더 높게
30-99
2>>60
더 낮게
30-60
3>>50
더 낮게
30-50
4>>40
더 높게
40-50
5>>45
더 낮게
40-45
6>>42
더 낮게
40-42
7>>41
맞았습니다.
다시하겠습니까(y/n)>>n'명품JAVA프로그래밍 > 3장 반복문과 배열 그리고 예외처리' 카테고리의 다른 글
| [명품JAVA프로그래밍] 3장 실습문제 5번 (0) | 2021.12.21 |
|---|---|
| [명품JAVA프로그래밍] 3장 실습문제 4번 (0) | 2021.12.21 |
| [명품JAVA프로그래밍] 3장 실습문제 3번 (0) | 2021.12.21 |
| [명품JAVA프로그래밍] 3장 실습문제 2번 (0) | 2021.12.21 |
| [명품JAVA프로그래밍] 3장 실습문제 1번 (0) | 2021.12.21 |