InputMismatchException
InputMismatchException
์ ์๋ฅผ ์
๋ ฅํด์ผ ํ๋๋ฐ ์ฌ์ฉ์๊ฐ ๋ฌธ์๋ฅผ ์
๋ ฅํ๋ ๊ฒฝ์ฐ InputMismatchException์ด ๋ฐ์ํฉ๋๋ค.
์ด ์์ธ๋ Scanner๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ฝ์ ๋, ์์ํ ์ ํ๊ณผ ๋ค๋ฅธ ์ ํ์ ์
๋ ฅ์ด ๋ค์ด์์ ๋ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด while ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ก๋ถํฐ ์ฌ๋ฐ๋ฅธ ์
๋ ฅ์ ๋ฐ์ ๋๊น์ง ๊ณ์ํด์ ์
๋ ฅ์ ์์ฒญํฉ๋๋ค.
try-catch ๋ธ๋ก ๋ด์์ InputMismatchException์ ์ฒ๋ฆฌํ์ฌ ์ฌ์ฉ์๊ฐ ์ฌ๋ฐ๋ฅธ ํ์์ ์
๋ ฅ์ ํ์ง ์์ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ,
Scanner์ nextLine() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์
๋ ฅ ๋ฒํผ๋ฅผ ๋น์์ค๋๋ค. ๊ทธ ํ, ์ฌ์ฉ์๋ก๋ถํฐ ์๋ก์ด ์
๋ ฅ์ ๋ฐ์ต๋๋ค.
Scanner scanner = null;
int number = 0;
while(true) {
scanner = new Scanner(System.in);
try {
System.out.print("์ ์๋ฅผ ์
๋ ฅํ์ธ์: ");
number = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("์๋ชป๋ ์
๋ ฅ์
๋๋ค. ์ ์๋ง ์
๋ ฅํด์ฃผ์ธ์.");
scanner.nextLine(); // ์
๋ ฅ ๋ฒํผ ๋น์ฐ๊ธฐ
}
}
System.out.println("์
๋ ฅํ ์ ์: " + number);
scanner.close();
์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ์ ์ด์ธ์ ๊ฐ์ ์ ๋ ฅํ๋๋ผ๋ ํ๋ก๊ทธ๋จ์ด ๋ฉ์ถ์ง ์๊ณ ๊ณ์ํด์ ์ฌ์ฉ์๋ก๋ถํฐ ์ฌ๋ฐ๋ฅธ ์ ๋ ฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
์ฐธ๊ณ ๋ธ๋ก๊ทธ: Say It!, IT-story๋ฅผ ๋งํ๋ค
Leave a comment