将数组拆分为两个数组

时间:2015-01-05 19:16:52

标签: java arrays

我有一个名为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]

3 个答案:

答案 0 :(得分:5)

你的指数错了:

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++;
}

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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

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

这就是我要做的事情:

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];
}
相关问题