gpt4 book ai didi

java - 根据 int 对字符串进行子串

转载 作者:行者123 更新时间:2023-12-01 17:56:27 27 4
gpt4 key购买 nike

我想根据我将在方法上传递的 int 对字符串进行子字符串化。我为此使用了嵌套循环。但每次循环时,我只想从最后一个子字符串到我在方法中传递的 int 进行子串,并获取最后一个字符串。我怎样才能实现这个目标?

private static void input(String s, int I)
{
List list = new ArrayList();

for(int a = 0; a < s.length(); a++)
{
for(int position = 0; position < s.length(); position++)
{
if(position + a + I <= s.length())
{
list.add(s.substring(position, position + a + I));
}
}
}

}

input("abaca", 2);

预期输出:“ab”、“ac”、“a”

最佳答案

您不需要嵌套循环。只需迭代 String 一次,并在每次迭代中添加一个 I 字符子字符串。

请注意,a 是当前子字符串的起始索引,因此在每次迭代中都会增加 I

最后一个子字符串的长度可能较短。如果 a + I > s.length(),则最后一个子字符串的最后索引将为 s.length() - 1 而不是 a + I - 1..

for(int a = 0; a < s.length(); a+=I) {
list.add(s.substring(a, Math.min(a + I, s.length())));
}

这会产生

[ab, ac, a]

对于输入(“abaca”,2)

关于java - 根据 int 对字符串进行子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44429796/

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