gpt4 book ai didi

Java字符串循环在数字后停止

转载 作者:行者123 更新时间:2023-12-02 13:34:32 25 4
gpt4 key购买 nike

我正在做一个简单的练习来娱乐。我获取一个字符串并获取最长的子字符串:

1. At least one upper case character.
2. No digits.

但是,当我对子字符串“a0Ba”进行如下循环时:

for (int i = 0; i < s.length(); i++) {

if (Character.isLetter(s.charAt(i))) {
substring += s.charAt(i);
}
else {
arr.add(substring);
substring = "";
}
}

似乎停在零处,不再继续。即使有效的子字符串“Ba”紧随其后。

当我使用此子字符串运行时:“AsdF0ASDFGffdfr09asd0sd0sd0e”

它工作得很好,并且返回正确的子字符串:“ASDFGffdfr”

这是为什么呢?我很困惑

最佳答案

当正确的子字符串位于输入末尾时,就会出现问题,因为只有在看到数字时才将候选字符串添加到列表中。

在循环后添加对 substring 非空的测试,并将其添加到 arr 中以解决问题:

// The loop portion of your code remains unchanged:
for (int i = 0; i < s.length(); i++) {
if (Character.isLetter(s.charAt(i))) {
substring += s.charAt(i);
} else {
arr.add(substring);
substring = "";
}
}
// Add this code to fix the problem:
if (!substring.isEmpty()) {
arr.add(substring);
}

关于Java字符串循环在数字后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073609/

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