잉?

NumberFormatException 에러 해결 본문

에러메시지,에러해결

NumberFormatException 에러 해결

Jye_647 2023. 6. 1. 12:24

키오스크 주문 프로그램에서 입력을 받을 때 엔터키를 누르면 NumberFormatException에러가 발생했다.

 

일단 NumberFormatException은 숫자 형식 오류에 의해 발생하는 에러이다.

 

코드를 보면 nextLine()을 사용하여 숫자를 입력받고 있다.

그리고 입력받은 문자열을 Integer.parseInt()를 사용해 int형으로 바꿔주는데 

이 바꿔주는 부분에 ""공백이 들어가니 오류가 날 수밖에...

 

이 오류를 해결하기 위해 nextInt()로 코드를 바꿔줬다.

입력을 숫자로 받는데 굳이 문자열로 받을 이유가 있나? 싶어 수정해 줬다.

nextInt()는 엔터를 쳐도 수가 들어가지 않는 이상 다음으로 넘어가지 않는다. 굿!

 

난 내 상황에 더 적합하게 코드를 수정해 줬지만 try catch문을 이용해 에러를 예방해 줄 수 있다.

try{
	choice = sc.nextLine();
   	return Integer.parseInt(choice);
} catch(NumberFormatException e){
	e.getMessage();
}
Comments