프로그래머스 문제

대소문자 바꿔서 출력하기

nakgopsae 2024. 6. 5. 11:33


public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String answer = "";
        for(int i = 1; i < a.length(); i++){
            //문자열은 length속성이 없어서 length()를 써줘야 한다
            //배열처럼 길이가 있어야 length 아니면 length() 함수
            char b =a.charAt(i);
            
            if(b.isUpperCase()){
                answer += b.toLowerCase();
            }else if(b.isLowerCase()){
                answer += b.toUpperCase();
            }
        }
        System.out.println(answer);
        //문자열을 하나씩 체크해서 소문자는 대문자로 대문자는 소문자로 바꾸기
        //charAt(index)를 넣으면 문자열에 index번째 
    }
}

 

생각나는대로 넣었는데 구문오류가 뜸 ~

오류를 긁어서 지피티씨한테 넣어줘봤음

char 타입의 메서드 호출 문제:

char 타입은 메서드를 가지지 않으므로 Character 클래스의 정적 메서드를 사용해야 합니다.

 

그렇다네

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String answer = "";
        for(int i = 0; i < a.length(); i++){
            //문자열은 length속성이 없어서 length()를 써줘야 한다
            //배열처럼 길이가 있어야 length 아니면 length() 함수
            char b =a.charAt(i);
            
            if(Character.isUpperCase(b)){
                answer += Character.toLowerCase(b);
            }else if(Character.isLowerCase(b)){
                answer += Character.toUpperCase(b);
            }
        }
        System.out.println(answer);
        //문자열을 하나씩 체크해서 소문자는 대문자로 대문자는 소문자로 바꾸기
        //charAt(index)를 넣으면 문자열에 index번째 
    }
}
//b.isUpperCase() 이렇게 못씀 Character.isUpperCase() 이런식으로 정적클래스를 호출해서 쓰랍니다!

 

코틀린이랑 다르다 타입캐스트 ~