gpt4 book ai didi

java - 在给定的 int 处分割长字符串

转载 作者:行者123 更新时间:2023-12-01 07:57:15 25 4
gpt4 key购买 nike

我参加了一次编程面试,他们要求我编写一个方法,该方法接受一个长字符串和一个 int 作为参数,并且该方法应该在数字的每个间隔处分割字符串。我不明白如何做到这一点,所以我想我会在这里询问,看看是否有人有任何想法。

顺便说一句:不幸的是我没有得到这份工作......

最佳答案

很遗憾得知采访的消息。这很糟糕……而且它发生了。+1 跟进问题。

在拆分器函数中,我使用索引遍历“长字符串”。每次迭代我都使用 String.substring 方法从字符串中提取间隔的大小。 (索引+区间)。提取后,我用间隔增加索引。因此,在长字符串中,一个间隔一个间隔地移动。

有可能出现索引+间隔大于长字符串长度的情况。 (会引起越界异常)因此需要额外的检查来避免它,并保存剩余的字符串。

public static void main(String[] args) {
String veryLongString = "12345678901234567890";
List<String> subStrings = splitter(veryLongString, 3);
// Print the result
for (String s : subStrings) {
System.out.print(s + " ");
}
}

public static List<String> splitter(String string, int interval) {
int index = 0;
List<String> subStrings = new ArrayList<String>();
while (index < string.length()) {
// Check if there is still enough characters to read.
// If that is the case, remove it from the string.
if (index + interval < string.length()) {
subStrings.add(string.substring(index, index + interval));
} else {
// Else, less the "interval" amount of characters left,
// Read the remaining characters.
subStrings.add(string.substring(index, string.length()));
}
index += interval;
}
return subStrings;
}

输出:

123 456 789 012 345 678 90

关于java - 在给定的 int 处分割长字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28439255/

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