2. 대소문자 변환
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
===================================================
아스키 코드로 알파벳 대문자는 65~90, 소문자는 97~122이다. 즉, 대문자와 소문자는 32의 차이가 있다는 것이다. 대문자를 소문자로 만들기 위해서는 32를 더해주고 소문자를 대문자로 만들기 위해서는 32를 빼주면 된다.
지정한 위치에 있는 알파벳을 알려주는 charAt(i)를 이용하여 알파벳을 알아내고 형변환을 한 다음 if문을 사용하여 대문자인지 소문자인지 판별하고 바꿔준 후 반환한다.
import java.util.Scanner;
public class Main {
public String solution(String word) {
String answer = "";
for(int i=0;i<word.length();i++) {
int tmp=(int)word.charAt(i);
if((65<=tmp)&&(tmp<=90)) {
answer+=(char)(tmp+32);
}
else if((97<=tmp)&&(tmp<=122)) {
answer+=(char)(tmp-32);
}
}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner scan = new Scanner(System.in);
String word=scan.next();
System.out.println(main.solution(word));
}
}
1) 대문자
2) 소문자
3) 특정 위치에 무슨 알파벳이 있는가