Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按字符数拆分字符串_Java_Arrays - Fatal编程技术网

Java 按字符数拆分字符串

Java 按字符数拆分字符串,java,arrays,Java,Arrays,在完成我的工作后,数组应该看起来像Array={“abcd”、“efgh”、“ijkl”…“yz”}。 以下是我尝试过的: 工作1: String str = "abcdefghijklmnoprqstuvwxyz"; String[] array = new String[str.length()/4 +1]; int strIndex=0; int-arrayIndex=0; 对于(strIndex=0;strIndex4->8->12。。 int end=4;//4->8->12->16

在完成我的工作后,数组应该看起来像
Array={“abcd”、“efgh”、“ijkl”…“yz”}
。 以下是我尝试过的:

工作1:

String str = "abcdefghijklmnoprqstuvwxyz";
String[] array = new String[str.length()/4 +1];
int strIndex=0;
int-arrayIndex=0;
对于(strIndex=0;strIndex4->8->12。。
int end=4;//4->8->12->16。。。
System.out.println(“arraylength:+array.length”);

对于(int i=0;i您需要将子字符串末端限制为字符串的最大长度:

String str = "abcdefghijklmnoprqstuvwxyz";
String[] array = new String[str.length()/4 +1];
int start = 0;  // 0->4->8->12..
int end = 4;    // 4->8->12->16...

System.out.println("arraylength:"+array.length);
for(int i=0;i<array.length;i++) {
    array[i] = str.substring(start,end);
    start+=4;
    end+=4;
}

工作1应该只做一点小改动

当前,您将“abcde”放入第一个数组元素,只是因为您要添加第0、第1、第2、第3和第4个元素。您希望在第4个元素之前而不是之后分开。请尝试一下:

// pseudocode - you did not supply a tag for the language you are using
str.Substring(start,Math.Min(str.Count,end)) // Math.Min == C#
int strIndex=0;
int-arrayIndex=0;

对于(strIndex=0;strIndex检查下面的代码sniplet,正如您所说,它工作正常。 如果有任何问题,请告诉我。(添加一个syso只是为了验证答案:)

String str=“abcdefghijklmnoprqstuvxyz”;
String[]数组=新字符串[str.length()/4+1];
int start=0;//0->4->8->12。。
int end=4;//4->8->12->16。。。
int length=str.length();
System.out.println(“arraylength:+array.length”);
用于(int i=0;i长度)
结束=长度;
}

这是什么编程语言?谢谢你的建议。我已经添加了标记“java”。我还检查了可能的重复帖子-虽然只有一行,但我很难从概念上理解代码。
// pseudocode - you did not supply a tag for the language you are using
str.Substring(start,Math.Min(str.Count,end)) // Math.Min == C#
int strIndex = 0;
int arrayIndex=0;   

for(strIndex=0; strIndex<str.length();strIndex++) {

    if((strIndex % 4 == 0) && (strIndex != 0 ))
                        arrayIndex++;
    array[arrayIndex] += Character.toString(str.charAt(strIndex));   
}
        String str = "abcdefghijklmnoprqstuvwxyz";
    String[] array = new String[str.length()/4 +1];
    int start = 0;  // 0->4->8->12..
    int end = 4;    // 4->8->12->16...
    int length = str.length();

    System.out.println("arraylength:"+array.length);
    for(int i=0;i<array.length;i++) {

        array[i] = str.substring(start,end);
        start+=4;
        end+=4;

        System.out.println(array[i]);
if(end>length)
   end=length;

    }