gpt4 book ai didi

java - 字符串数组和字符串

转载 作者:行者123 更新时间:2023-11-30 09:13:54 27 4
gpt4 key购买 nike

我正在为我的类(class)编写一个程序,但现在我遇到了拆分字符串和子字符串的问题。我已经将来自不同类的数据保存在一个带有分隔符的字符串中,以供稍后拆分 (/)。这部分工作正常,我得到了所有应该保存在新字符串数组中的字符串。

后来我尝试在 for 循环(字符串词:字符串数组)中为它们 toast ,一切似乎都很好。但是我在从 word 中删除子字符串时遇到了问题。我想获取数字(在“-”和“k”之间),但它总是抛出一个 String out of index 错误,我不知道为什么。当我尝试烤制我想要获取子字符串的字符串位置时,它显示它们很好但是当我尝试用它们进行子字符串时它再次抛出错误。

错误

"java.lang.RuntimeException: Unable to start activity 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;区域开始=22; regionLength=-18 注意长度是负数。

这让我相信 k 字符出现在 - 字符之前。由于您的代码假定 - 始终排在第一位,因此您得到的 end 小于 start

关于java - 字符串数组和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com