将数组拆分为两个数组

Split array to two array

我有一个名为 data 的字符串数组,其中包含:

data: [Solaergy, 3255, Solagy, 3635, Soly, 36235, Solar energy, 54128, Solar energy, 54665, Solar energy, 563265]

现在我想将 data 分成两个数组 titleisbn(书籍):

String[] titles = new String[data.length];
String[] isbnS = new String[data.length];
for (int i = 0; i < data.length; i += 2) {
    titles[i] = data[i];
    isbnS[i] = data[i + 1];
}
    System.out.println("titles: " + Arrays.toString(titles));
    System.out.println("isbnS: " + Arrays.toString(isbnS));

我的问题是每两个数组中的每个值后面都有一个 null 值:

titles: [Solaergy, null, Solagy, null, Soly, null, Solar energy, null, Solar energy, null, Solar energy, null]
isbnS: [3255, null, 3635, null, 36235, null, 54128, null, 54665, null, 563265, null]

我想成为这样的人:

titles: [Solaergy, Solagy, Soly, Solar energy, Solar energy, Solar energy]
isbnS: [3255, 3635, 36235, 54128, 54665, 563265]

你弄错了索引:

String[] titles = new String[data.length/2];
String[] isbnS = new String[data.length/2];
int count = 0;
for (int i = 0; i < data.length; i += 2) {
    titles[count] = data[i];
    isbnS[count] = data[i + 1];
    count++;
}
for (int i = 0, j=0; i < data.length; i += 2, j++) {
    titles[j] = data[i];
    isbnS[j] = data[i + 1];
}

我想你要做的是将一个元素放在一个数组中,将下一个元素放在另一个数组中。

但是,您正在尝试将整数存储在字符串数组中。

这就是我要做的:

String[] titles = new String[data.length/2];
int[] isbnS = new int[data.length/2];
int j=0;
for(int i=0; i<data.length; i+=2)
{
    titles[j] = data[i];
    isbnS[j++] = data[i+1];
}