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("문자열을 숫자로 변환할 수 없습니다")
}
각각 문제의 요구사항에 따라 맞는 방법을 써주면 될 것 같다
'자바' 카테고리의 다른 글
연산1. 연산의 종류와 연산자 / 연산자 우선순위 (0) | 2024.06.12 |
---|---|
Collections 클래스(sort, reverse, min, max, binaryResearch) (0) | 2024.06.08 |
Arrays.toString() - 배열 내용 출력 (0) | 2024.05.22 |
repeat() 함수 - 문자열 반복 (0) | 2024.05.22 |
이스케이프 시퀀스(escape sequence)/특수문자 출력표 (0) | 2024.05.15 |