| 문제
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
| 입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.
| 출력
첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다.
| 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String word = br.readLine();
for(int i=0; i<word.length(); i++) {
char c = word.charAt(i);
if(Character.isUpperCase(c))
sb.append(Character.toLowerCase(c));
else
sb.append(Character.toUpperCase(c));
}
System.out.println(sb);
}
}
| 정리
입력받은 문자열을 문자형으로 하나씩 확인해준다.
isUpperCase(대문자)이면 toLowerCase(소문자)로 append 해주고
isUpperCase가 아니면(소문자)이면 toUpperCase(대문자)로 append 해준다.