마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

배열의 길이를 구하는중 에러

0 추천
for (k = 0; k < 24; k++) {
                et_24[k].setText(name_s[k]);
            }

배열 name_s 의 크기에 관계없이 결과가 잘 나옵니다.

여기서 24 대신 name_s.length 를 대입해서

            for (k = 0; k < name_s.length; k++) {
                et_24[k].setText(name_s[k]);
            }
는 에러가 납니다.

langth() 로도 해 보았지만 배열이니 당연히 안됩니다.
name_s 가 "" 또는 null  일때는 제외해 보았지만 그래도 에러입니다.
(에러=중단)

name_s.length 자체를 다른 숫자로 바꾸면 잘 되니 이상합니다.
도지 (160 포인트) 님이 2020년 1월 8일 질문

1개의 답변

0 추천

et_24 갯수보다 name_s 갯수가 클 경우 Exception발생할 듯 한데, et_24 갯수는 확인 하신건가요?

로그캣으로 name_s.length 값 부터 찍어 보시는걸 추천합니다.

익명사용자 님이 2020년 1월 8일 답변
익명사용자님 답변 감사드립니다.
et_24의 갯수는 24로 미리정해저 있고 name_s는 늘 24보다 적습니다.
length 라는 자체데 에러가 나는 것 같아서 정말 이상합니다. 아직도 해결이 되지 않았습니다.
에러가 발생하는 이유는 모르겠지만 아래와 같이 한번 수정해 보세요.

int nameLen = name_s.length;
for(k = 0; k < nameLen; k++) {
   et_24[k].setText(name_s[k]);
}
답변감사합니다. 처음 말씀하신것을 잘 살펴볼것을 그랬습니다.
et_24 를 멀리서(?) 가지고 오는 도중에 변경된것을 확인하지 못해서 그런것 같습니다. 고맙습니다.
...