gpt4 book ai didi

Java-将字符串中的字符拆分为字符串数组

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

    import java.io.*;

public class Test{
public static void main(String args[]){
String Str = new String("Welcome to Tutorialspoint.com and again some other random stuff in this string.");
String[] result= new String[8];
byte c=0b0;
int i=0;
int j=0;

for (int a=0;a<7;a++){
result[a]="";
}
for(i=0; j<Str.length(); j++){
c=(byte)(Str.charAt(j));
result [i]+=(char)c;
if (i<7){i++;}else{i=0;}
}
for (int a=0;a<8;a++){
System.out.println(result[a]);
}
}
}

目标是从原始字符串创建 8 个字符串。String[0] 将保存字符 0,8,16,...等等。String[1] 将保存字符 1,9,17,...等等。我希望这足够清楚。

我用这段代码得到的东西是我似乎无法克服的。

    Wtitdsemis
eoa. or nt
l lcam s r
cTsogertti
oupma auhn
mto ionfig
eoiantdfs.
null rnn ho

注意最后一行中的 null - 我需要它消失,因为字符串应该像这样以“rnn ho”开头。

    Wtitdsemis
eoa. or nt
l lcam s r
cTsogertti
oupma auhn
mto ionfig
eoiantdfs.
rnn ho

如果有人指出如何不获得此输出,我将非常感激。这是一个用于拆分字符串的“测试”代码,该字符串将保存从 -126 到 127 二进制值的值。并非所有这些都可以打印,我仍然需要将它们正确分割。在大多数情况下,除了输出中那些看似随机的“空”字符串之外,代码似乎都可以工作。

我不介意 [null]=0 个字符,只要它们在一个字符串中占用 1 个字符空间而不是 4 个字符即可。

================================================== =====================================初始化 a<8 解决了这个问题。但我什至没有时间阅读所有其他评论/答案。没想到答案这么快。谢谢你们 。当我阅读所有相关解决方案和/或获得所需声誉时,我会对任何相关解决方案进行投票。

================================================== =====================================已修复!

================================================== =====================================选择 Ian McLaird 的答案,因为它不仅修复了我的“愚蠢”错误,而且还向我展示了我不知道的更简洁的代码和功能。不管怎样,谢谢大家的评论和回答。

最佳答案

这个怎么样?

public class StringSplitter {
public static void main(String[] args) {
String str = new String("Welcome to Tutorialspoint.com and again some other random stuff in this string.");
String[] result = new String[8];

for (int i = 0; i < result.length; ++i) {
result[i] = "";
}

char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; ++i) {
result[i % result.length] += chars[i];
}

for (int i = 0; i < result.length; ++i) {
System.out.println(result[i]);
}
}
}

由于您的 result 数组已实例化,因此可以安全地使用 length 属性将元素初始化为空字符串。由于您打算处理字符串中的每个字符,因此只需将其作为数组获取,然后使用模运算符将每个字符放入 result 数组中的正确位置。作为一个额外的好处,它也可以安全地更改 result 数组的长度。硬编码的循环哨兵是危险的。

输出

Wtitdsemis
eoa. or nt
l lcam s r
cTsogertti
oupma auhn
mto ionfig
eoiantdfs.
rnn ho

关于Java-将字符串中的字符拆分为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27383506/

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