[문제] 프로그래머스 대소문자 바꿔 출력하기
**Ascii
A = 65
a = 97
1. 처음 작성한 코드
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
for(int i = 0 ; i < a.length(); i++){
char alpha = a.charAt(i);
int num = (int)alpha;
if(97 <= num){
num = num - 32;
System.out.printf(String.valueOf((char)num));
}else{
num = num + 32;
System.out.printf(String.valueOf((char)num));
}
}
}
for문으로 일일이 비교하다가 charAt()이라는 메소드를 찾아 사용했다.
charAt()
string으로 받은 값을 char 요소로 하나씩 볼 수 있게 해주는 메소드
2. 다른 분들의 코드를 참고하여 다시 작성한 코드
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
for (Character c : a.toCharArray()){
if (Character.isUpperCase(c)){
answer += Character.toLowerCase(c);
}else{
answer += Character.toUpperCase(c);
}
}
System.out.println(answer);
}
toCharArray
charAt은 요소로 보여줬다면 이것은 string을 char로 배열해주는 메소드다.
스트링에서 캐릭터로 만든 배열을 다시 문자열로 만들려면 String str = new String(charArr); 해주면 된다.
isUpperCase
대문자라면 true를 나타내주는 메소드.
toUpperCase & toLowerCase
param 없이
각각 대문자를, 소문자를 리턴한다.
메소드도 다다익선
훨씬 간결해졌다.
'Java > 공부' 카테고리의 다른 글
isEmpty() (0) | 2023.07.06 |
---|---|
[JAVA] 예제로 chartAt 익숙해지기 (0) | 2023.07.05 |
[JAVA]예제로 문자열 자르는 연습해보기 (0) | 2023.07.05 |
예제로 배열 배우기 (0) | 2023.07.04 |
라인 개발자가 알려주는 코딩 테스트 준비 방법 (0) | 2023.07.04 |