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

String 배열에서 split을 사용 하는데 오류가 생깁니다. [closed]

0 추천
String readMessage = new String(readBuf, 0, msg.arg1);

    String[] array = new String[] {};
    array = readMessage.split(":");
    String str1 = null;
    String str2 = null;
    String str3;
    String str4;
    String str5;
    String str6;
    try {
     str1 = array[0];
     str2 = array[1];
     str3 = array[2];
     str4 = array[3];
     str5 = array[4];
     str6 = array[5];
    } catch (Exception e) {
     Toast.makeText(MainActivity.this, "array + str",
       Toast.LENGTH_LONG).show();
    }
    // MainActivity.this.distanceText1.setText(readMessage);

    MainActivity.this.distanceText1.setText(str1);
    MainActivity.this.distanceText2.setText(str2);

계속 실행 오류가 생겨서 try 구문을 주고 확은을 해보니 array+ str라는 토스트 메시지가 계속 뜹니다.

처음에는 그냥

String[] array = readMessage.split(:);

MainActivity.this.distanceText1.setText(array[0]);   

MainActivity.this.distanceText2.setText(array[1]);

이런 식으로 해보았는데 이 또한 실행 오류가 생기구요..제가 사용 하는 방법이 맞는건가요??

질문을 종료한 이유: 자체 해결
안왕초보 (1,390 포인트) 님이 2014년 5월 2일 질문
안왕초보님이 2014년 5월 2일 closed
readMessage 에 뭐가 들어오는지 알아야 할거 같은데요...
근데.. 안봐도 java.lang.ArrayIndexOutOfBoundsException 날거 같네요...
0~5 로 돌리지 말고 array.length 로 loop 돌아서 처리하세요...
자체 해결 했습니다.
array = readMessage.split("[:]");

1개의 답변

0 추천
Exception 메시지를 보세요.
익명사용자 님이 2014년 5월 2일 답변
...