자바
NumberFormatException - 문자열을 정수형으로 변환할 때 나타나는 오류
긴가우딘
2024. 5. 23. 03:13
long answer = 0;
String str = "12345";
String[] arr = str.split("");
String sortedStr = Arrays.toString(arr);
answer = Long.parseLong(sortedStr);
→ Exception in thread "main" java.lang.NumberFormatException: For input string: "[1, 2, 3, 4, 5]"
문자열을 정수로 변환하려 할 때 정수형이 아닌 경우 나타나는 오류이다
대괄호([])와 쉼표(,) 가 있기 때문에 나타났다
나는 프로그래머스 정수 내림차순으로 배치하기 문제에서 join() 함수를 써서 해결했는데
long answer = 0;
String str = "12345";
String[] arr = str.split("");
String sortedStr = String.join("", arr);
answer = Long.parseLong(sortedStr);
→ 출력결과: 12345
검색해보니 try-catch를 이용하여 exception 관리를 해줄 수도 있다고 한다
long answer = 0;
String str = "12345"
String[] arr = str.split("");
try{
String sortedStr = Arrays.toString(arr);
answer = Long.parseLong(sortedStr);
} catch(NumberFormatException e) {
System.out.println("문자열을 숫자로 변환할 수 없습니다")
}
각각 문제의 요구사항에 따라 맞는 방법을 써주면 될 것 같다