반응형
코테 문제를 풀 때 charAt()을 많이 사용하게 된다.
근데 어떨때는어떨 때는 -48을 해야 원하는 값이 나오고, 어떨 때는 안 해도 숫자가 제대로 나온다?!
도대체 언제 해야할까?

charAt() 메서드
charAt() 메서드는 문자열에서 해당 인덱스에 있는 문자를 반환해 준다.
String str = "12345";
char ch = str.charAt(0);
int num1 = ch - 48; // 1
String str2 = "ABC";
char ch2 = str2.charAt(0);
int num2 = ch2 - 48; // 해당 문자는 숫자가 아니므로 -48 하지 않음
String str3 = "9876";
char ch3 = str3.charAt(3);
int num3 = ch3 - 48; // 6
위 코드처럼 문자열이 숫자로만 이루어진 경우에는 -48을 해주어야 원하는 숫자값을 얻을 수 있다.
만약 int num1 = ch;만 해주고 System.out.println(num1); 출력해 보면
원하는 값인 1이 아니라 49가 나온다.
즉, 문자 -> 숫자로 변환할 때! char ch 값을 int num1로 변환할 때 -48을 해주면 된다.
숫자 외에 문자나 다른 값인 경우에는 -48을 사용하지 않는다.
str2처럼 문자열이 문자로만 이루어져 있으니 -48을 해줄 필요가 없다.
반응형
'개발 > 공부' 카테고리의 다른 글
| 친절한 프로그램? (0) | 2023.06.20 |
|---|---|
| List ->배열, 배열 -> List 로 변환하는 법 (0) | 2023.06.19 |
| 배열 정렬과 리스트 정렬의 차이점은 (0) | 2023.06.11 |
| 주어진 문자가 숫자인지 어떻게 알아요?????? (0) | 2023.06.11 |
| 깃 메세지 (0) | 2023.06.05 |