본문 바로가기
Java/공부

배열의 선언과 초기화 예제에 적용해보기

by notcherry 2023. 7. 21.

 

 문제 

 

 

 코드 

 public String[] solution(String[] strArr) {
 
            String[] answer = new String[strArr.length];
            //배열 초기화
            for (int i = 0; i < strArr.length; i++) {
                answer[i] = "";
            }

            for(int i = 0 ; i<strArr.length; i+=2){
                for(char ch : strArr[i].toCharArray()){
                    answer[i] += Character.toLowerCase(ch);
                }
            }
            for(int i = 1 ; i<strArr.length; i+=2){
                for(char ch : strArr[i].toCharArray()){
                    answer[i] += Character.toUpperCase(ch);
                }
            }
            return answer;
        }

 

 

어려운 문제는 아니지만 배열 선언과 초기화를 생각하지 못 한 부분을 기억하고자 적게 되었다.

 

처음엔 주석처리한 부분을 생각 못했는데 초기화를 하지 않았더니 ["NULLaaa","NULLBBB...] 이런 식으로 나왔다.

 

처음 배열을 선언하면 string type 이므로 null 값이 들어간다. 그러므로 answer[i]에 들어있는 값은 {null}이다.

 

여기에 for loop를 돌면서 ch가 +=되므로 위와 같은 결과가 나왔던 것이다.

 

원하는 결과값을 얻기 위해서는 answer 배열을 빈 문자열("")로 만들어주어야한다.

'Java > 공부' 카테고리의 다른 글

[Hashmap] .getOrDefault(key, defaultValue)  (0) 2023.07.25
[JAVA] 예제로 Hash map 공부하기  (0) 2023.07.25
예제로 arrayList 공부하기  (0) 2023.07.19
trim() split("\\s") split("\\s+")  (0) 2023.07.18
StringBuilder()  (0) 2023.07.12