나는 내 수업을 위해 프로그램을 만들고 있지만 지금은 문자열과 부분 문자열을 분할하는 데 문제가 있습니다. 나중에 분할 (/)을 위해 구분 기호가있는 문자열에 다른 클래스의 데이터를 저장했습니다. 이 부분은 잘 작동하며 새 문자열 배열에 저장해야하는 모든 문자열을 얻습니다.
나중에 나는 for 루프 (문자열 단어 : 문자열 배열)에서 건배하려고 시도했지만 모든 것이 잘 보였습니다. 하지만 단어에서 부분 문자열을 자르는 데 문제가 있습니다. 나는 숫자 ( '-'와 'k'사이)를 얻고 싶지만 항상 문자열에서 인덱스 오류가 발생하고 그 이유를 모르겠습니다. 내가 부분 문자열을 취하고 싶은 문자열의 위치를 토스트하려고하면 잘 표시되지만 부분 문자열을 사용하려고하면 다시 오류가 발생합니다.
오류
"java.lang.RuntimeException : ComponentInfo {com.example.uiuracun / com.example.uiuracun.Bill} 활동을 시작할 수 없음 : java.lang.StringIndexOutOfBoundsException : length = 29; regionStart = 22; regionLength = -18"
코드
package com.example.uiuracun;
import android.R.anim;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class Bill extends ListActivity {
// Removed extra code
private void split(String[] string) {
for (String word:string){
word.trim();
int start = 0;
int end = 0;
start = word.indexOf('-');
end = word.indexOf('k');
String c = word.substring(start, end);
}
}
}
오류 메시지에는 length=29; regionStart=22; regionLength=-18
길이가 음수라는 메모 가 포함되어 있습니다.
이것은 k
캐릭터가 캐릭터보다 먼저 등장 한다고 믿게 -
만듭니다. 코드가 가정하기 때문에 -
항상 먼저, 당신은 얻을 end
미만 start
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다