보자마자 아스키코드를 이용한다는 것을 알 수 있었다.
처음에는 answer+= my_string.charAt(i)-32; 라고 쓰니 숫자만 출력되었다.
(a에 대하여 65가 출력됨)
그래서 앞에 (char)를 붙여줬는데도 똑같이 숫자만 출력되어
(my_string.charAt(i)-32) 으로 전체를 괄호로 묶으니 제대로 'A'가 출력되었다.
한가지 손볼 수 있는 부분은, 범위를 숫자(97~122)로 할 것이 아니라
'a'~'z'라고 하는 것이 가독성이 좋았을 것 같다.
나중에 코테 준비할때는 아스키코드도 외워놓아야 하는 것인가..?
public class CoTe_9 {
public static void main(String[] args) {
String answer = "";
String my_string="abCdEfg";
//if 소문자 --> 대문자(-32)
//if 대문자 --> 소문자(+32)
//소문자: 97~122
///대문자: 65~90
for(int i=0;i<my_string.length();i++) {
if (97<=my_string.charAt(i) && my_string.charAt(i) <= 122) {
answer+= (char)(my_string.charAt(i)-32);
}
else {
answer += (char) (my_string.charAt(i) + 32);
}
}
System.out.println(answer);
}
}