728x90
반응형
package chap9;
import java.util.InputMismatchException;
import java.util.Scanner;
/* 1부터 100까지 중 임의의 숫자를 컴퓨터가 저장하고,
* 값을 입력받아 저장된 값을 맞추는 프로그램을 작성하기
*
* 단 1 부터 100까지의 숫자가 아닌 경우에는 1 과 100사이의 숫자만 입력하세요를 출력
* 숫자가 입력이 안된 경우는 숫자만 입력하세요 를 출력하고 계속 입력을 받는다.
* 정답을 맞춘경우 프로그램을 종료
* 종료 전 몇번의 입력만에 숫자를 맞추었는지 출력하기.
* 단 입력 오류된 입력도 입력 건수에 포함된다.
*/
public class Test0317_3 {
public static void main(String[] args) {
int answer = (int)(Math.random() * 100) + 1;
int cnt = 0;
Scanner scan = new Scanner(System.in);
while(true) {
System.out.println("1부터 100까지의 숫자를 입력하세요");
int num = 0;
try {
num = scan.nextInt();
cnt++;
if(num < 1 || num > 100)
throw new Exception
("1부터 100까지의 숫자만 입력하세요");
} catch(InputMismatchException e) {
String d = scan.next();
cnt++;
System.out.println(d + "는 숫자가 아닙니다.");
continue;
} catch(Exception e) {
System.out.println(e.getMessage());
continue;
}
if(num == answer) break;
else if(num > answer)
System.out.println("작은수를 입력하세요");
else
System.out.println("큰수를 입력하세요");
}
System.out.println("정답입니다. 입력 횟수:" + cnt);
}
}728x90
반응형
'study > Java' 카테고리의 다른 글
| [Java] 27. 내부클래스2 (지역내부클래스에 사용되는 메서드에서 메서드의 지역 변수 접근시 접근되는 지역 변수는 상수화 되어야 함) (0) | 2022.03.23 |
|---|---|
| [Java] 27. 내부클래스1 (0) | 2022.03.23 |
| [Java] 25~26. Test2 풀이 (UnsupportFunctionException 클래스 구현하기) (0) | 2022.03.22 |
| [Java] 25~26. Test1 풀이 (예외처리를 생략 해도 되도록 TestException 클래스 구현하기) (0) | 2022.03.22 |
| [Java] 25~26. Test3 (1부터 100까지 중 임의의 숫자를 컴퓨터가 저장하고, 값을 입력받아 저장된 값을 맞추는 프로그램을 작성하기) (0) | 2022.03.22 |