gpt4 book ai didi

java - 将字符串划分为ArrayList

转载 作者:行者123 更新时间:2023-11-30 01:52:59 27 4
gpt4 key购买 nike

我正在尝试将字符串划分为数组。整个程序应该将二进制转换为字符串,但我遇到的问题是将字符串划分为数组。我觉得自己很愚蠢,因为这似乎是一件简单的事情。二进制文件是这样的“0100100001001001”而不是“01001000”“01001001”。

public static ArrayList<String> divStr(String str,int div){

String addable = "";
ArrayList<String> ret = new ArrayList<String>();
for(int i = 0; i < str.length();i++){
addable += str.charAt(i);
if(i % div == 0 && i != 0){
ret.add(addable);
addable = "";
}
}
return ret;
}

最佳答案

您的代码有 2 个问题。
(1) 条件 i % div == 0 && i != 0 是错误的,因为说 div = 8,它会添加第一个当 i = 8 时,列表中包含 9 个字符。
(2) 如果字符串 str 的长度不是 div 的倍数,则列表中将会遗漏一些字符。
所以改成这样:

public static ArrayList<String> divStr(String str,int div){
String addable = "";
ArrayList<String> ret = new ArrayList<String>();
for(int i = 0; i < str.length();i++){
addable += str.charAt(i);
if((i + 1) % div == 0){
ret.add(addable);
addable = "";
}
}
if (!addable.isEmpty()) ret.add(addable);
return ret;
}

关于java - 将字符串划分为ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55424630/

27 4 0