대문자와 소문자 (자바)

김재현·2023년 9월 27일
0

알고리즘 풀이

목록 보기
9/89
post-thumbnail

보자마자 아스키코드를 이용한다는 것을 알 수 있었다.

처음에는 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);
}

}

profile
I live in Seoul, Korea, Handsome

0개의 댓글