원인
- .toLowerCase()와 .toUpperCase()는 String관련 함수이기 때문에 char타입의 데이터에 사용하여 에러 발생
문제가 발생한 코드
char[] arr = a.toCharArray();
for(int i=0;i<arr.length;i++){
if(Character.isUpperCase(arr[i]) == true){
arr[i] = arr[i].toLowerCase();
str = str + arr[i];
} else {
arr[i] = arr[i].toUpperCase();
str = str + arr[i];
}
}
해결
- char 타입의 데이터를 String타입으로 변환 후 관련 함수를 적용
해결 코드
for(int i=0;i<arr.length;i++){
if(Character.isUpperCase(arr[i]) == true){
str = str + Character.toString(arr[i]).toLowerCase();;
} else {
str = str + Character.toString(arr[i]).toUpperCase();;
}
}
'에러 > JAVA' 카테고리의 다른 글
[에러] <JAVA> while문 안에서 catch문으로 InputMismatchException을 처리할 때 무한 루프가 발생하는 문제 (1) | 2023.12.08 |
---|---|
[에러] <JAVA> JAVA에서의 문자열 비교 (0) | 2023.11.30 |
[에러] <JAVA> Cannot invoke toString() on the primitive type int (0) | 2023.11.28 |