gpt4 book ai didi

Java - 在字符串中的连续数字之间插入 "-"

转载 作者:行者123 更新时间:2023-12-01 21:08:24 25 4
gpt4 key购买 nike

我试图通过在字符串中的连续数字之间插入“-”来创建新字符串,例如,如果输入字符串是“bea345ful”,则输出字符串应该类似于“bea3-4-5ful”,但如果输入字符串是“be3u4t5ful”我不需要插入“-”,因为没有一个数字是连续的。

我可以使用以下代码使其工作,但当字符串末尾有连续的数字时,例如,它会失败“be3u4t5f67”在这种情况下会抛出 StringIndexOutOfBoundsException 我理解这是因为我的代码没有处理这种情况。有什么建议如何修复它吗?

    public static String insertDash(String str){
String result = "";
for (int i = 0; i < str.length(); i ++) {
if (Character.isDigit(str.charAt(i)) && Character.isDigit(str.charAt(i + 1))) {
result+=str.charAt(i) + "-";
} else {
result+=str.charAt(i);
}
} return result;

最佳答案

循环的停止条件应该是 i < str.length() - 1 .

如果没有更改,在最后一次迭代中,i等于str.length() - 1因此访问索引 str.length() - 1 + 1 处的元素(使用 str.charAt(i + 1) )触发异常。

在 for 循环之后,只需将最后一个字符附加到 result

关于Java - 在字符串中的连续数字之间插入 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41837203/

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