본문 바로가기
study/Java

[Java] 26. Exception Exam1 (화면에서 1부터 10까지의 숫자를 입력받아서 숫자만큼 * 가로로 출력하기99숫자가 입력되면 프로그램 종료하기)

by 금이패런츠 2022. 3. 22.
728x90
반응형
package chap9;

import java.util.InputMismatchException;
import java.util.Scanner;

/*
화면에서 1부터 10까지의 숫자를 입력받아서 숫자만큼 * 가로로 출력하기
99숫자가 입력되면 프로그램 종료하기

입력값이 숫자가 아닌 경우 : InputMismatchException 예외를 발생 시키고
      숫자만 입력하세요 메세지 출력하고, 다시 입력받도록 프로그램 수정
      문자열을 입력받는 부분 추가 필요
      
입력값이 1~10의 범위가  아닌 경우 : Exception 예외를 발생 시키고
  1 ~ 10까지의 숫자만 입력하세요 메세지 출력하고, 다시 입력받도록 
  프로그램 작성하기
 */

public class Exam1 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		while(true) {
			System.out.println("1~10사이의 숫자를 입력하세요. (종료:99)");
			//InputMismatchException : 숫자가 아닌 경우 발생되는 예외
			try {
				int num = scan.nextInt();
				if (num ==99) break;
				if (num < 1 || num > 10) {
					throw new Exception("1부터 10사이의 숫자만 입력하세요.");
				}
				System.out.print(num + ":");
				for(int i=1; i<=num; i++) {
					System.out.print("*");
				}
			} catch (InputMismatchException e) {
				String str = scan.next();
				System.out.println(str + "은 숫자가 아닙니다. 숫자만 입력하세요.");
			} catch (Exception e) {
				System.out.println(e.getMessage());
			}
		}
	}
}
728x90
반응형