如何将整数的StringBuilder转换为整数数组?

时间:2016-10-09 20:06:06

标签: java

因此,对于一个赋值,我必须编写一个方法,它将采用两个数组并交错它们。我选择将这些数组转换为字符串,获取每个字符串的子字符串并将它们添加到stringbuilder中。现在我应该有一个充满两个数组的整数的字符串构建器,但是教师希望我们创建的方法必须返回一个整数数组。如何将此stringbuilder转换为int数组?

到目前为止,这是我的代码:

public static int[] interleaveArrays(int[] array1, int[] array2, int stride, int maxElements){

    if (stride <= 0){
        return null;
    }
    if (maxElements <= 0){
        return null;
    }

    String arrayA = array1.toString();
    String arrayB = array2.toString();
    StringBuilder sb = new StringBuilder(array1.length + array2.length);

    boolean done = false;
    boolean end = false;
    int i = 0;
    int j = 0;

    while (done = false){//create a substring of the first array & append to stringbuilder
        String newArray1 = arrayA.substring(i, i + (stride - 1));
        sb.append(newArray1);
        if (i > arrayA.length()){
            done = true;
        }
        while (end = false){//create a substring of the second array & append to stringbuilder
            String newArray2 = arrayB.substring(j, (j + stride - 1));
            sb.append(newArray2);
            if (j > arrayB.length()){
                end = true;
            }
        }
        if (sb.length() >= maxElements){
            done = true;
        }
    }
}

(旁注:

stride 是每个阵列一次应采取的整数数量。 [例如。如果您的步幅为2且数组 {1,3,7,2} {5,2,9,6} ,则返回的数组应为{ 1,3, 5,2, 7,2, 9,6 }]

maxElements 是返回数组中允许的最大整数数)

0 个答案:

没有答案