charAt이란 string 타입으로 받은 문자열을 char 타입으로 한 글자만 받게 해주는 함수이다.
숫자형 문자를 CharAt함수로 추출하면 char형이므로 int 형으로 변환하려하면 아스키코드로 변환된다.
따라서 '0' 또는 48을 빼주어야 의도한대로 계산할 수 있다.
String n = "123";
n.charAt(0); // 1
n.charAt(1); // 2
n.charAt(2); // 3
(int)n.charAt(0) + (int)n.charAt(1) // 49 + 50 = 99
'0'(char) => 48
'1'(char) => 49
'2'(char) => 50
여기서 -'0'(48)을 해주면 원하는 숫자가 나온다.
n.charAt(0)-'0' = 49-48 = 1
n.charAt(1)-'0' = 50-48 = 2
'BACK > JAVA' 카테고리의 다른 글
[JAVA] 이너 클래스(인스턴스, 정적, 지역) (0) | 2022.07.28 |
---|---|
[JAVA] 이너 인터페이스 (0) | 2022.07.28 |
[JAVA] 인터페이스, 디폴트 메서드 (0) | 2022.07.28 |
[JAVA] 인터페이스를 이용한 이벤트 처리 기능 (0) | 2022.07.21 |
[JAVA] 문자/숫자를 아스키코드로 변환 (0) | 2022.07.17 |