안드로이드 자바 개발 중 루프문 에러 문제


private void playCode(String code) {  
    String tmp;  
    while(code != "") {  
        if(code.indexOf("f") == 2) { //코드 읽기  
            tmp = code.substring(0, 3);  
            code = code.substring(3);  
        } else {  
            tmp = code.substring(0, 2);  
            code = code.substring(2);  
           }  
    }  
}  

설명하자면 code라는 string이 있는데 (예를 들어 C4D4D4D4f 이런식으로 구성)

while문 안에서 code가 아무 문자도 남지 않을 때까지 2자 또는 3자씩 끊어 tmp라는 변수에 저장하고 기존의 code 변수에서 tmp에 저장된 부분 만큼 substring을 통해 지우려고 하거든요

그런데 위와 같이 코딩 후 컴파일하면 안드로이드 앱 실행 시 에러가 납니다 while문 내부의 코드를 지우면실행이 정상적으로 되긴 하는데... 왜이럴까요

  • 2017년 12월 14일에 작성됨

조회수 122


Banner bitmango

1 답변


좋아요
0
싫어요
채택취소하기

code 값을 반복해서 substring 하는데,

에러나는 시점의 code 길이가 2 또는 3보다 작을 경우 에러가 발생하겠네요.

  • 2017년 12월 14일에 작성됨
    Software Developer

  • 앗 그런이유가 있었네요 한번 수정해보겠습니다    김건형   2017.12.14 16:31     
  • while문 조건을 while(code.length()>2)     김건형   2017.12.14 16:44     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close