从Array添加到列表数组

时间:2014-01-02 22:23:54

标签: java android

对于数组,我如何获取偶数索引的所有值并添加到nameArray和奇数索引处的所有值并添加到scoreArray?我得到了这段代码,但它没有用。

String[] inputArray = {"john", "10", "frank", "14"}

for (int j = 0; j == inputArray.length; j++) {
    if ((j % 2) == 0) {
        nameArr.add(inputArray[j]);
        } else {
        scoreArr.add(inputArray[j]);
    }
}

3 个答案:

答案 0 :(得分:6)

您可能意味着for (int j = 0; j < inputArray.length; j++)

j == inputArray.length在第一次迭代时被评估为false,因此您的循环不会运行。

但是,您可以删除if语句(假设您的inputArray始终包含与分数关联的名称,即始终包含对值):

for (int j = 0; j < inputArray.length; j+=2) {
    nameArr.add(inputArray[j]);
    scoreArr.add(inputArray[j+1]);
}

或者您也可以使用Map<String, Integer>将每个名称与其对应的分数相关联(假设名称是唯一的):

for (int j = 0; j < inputArray.length; j+=2) 
     m.put(inputArray[j], Integer.parseInt(inputArray[j+1]));

答案 1 :(得分:1)

你可能意味着在你的循环中有一个<而不是==,并且尝试使用inputArray而不是split2[]这样:

for (int j = 0; j < inputArray.length; j++) {
    if ((j % 2) == 0) {
        nameArr.add(inputArray[j]);
        } else {
        scoreArr.add(inputArray[j]);
    }
}

答案 2 :(得分:1)

你想要做的是查看数组中的每个元素,为此你想要遍历从0开始并以数组-1的长度结束的每个元素(因为数组被索引为0)。一旦你进入循环,你想使用模运算符检查它是偶数还是奇数。

for (int j = 0; j < inputArray.length; j++){
    if ((j % 2) == 0) {
        nameArr.add(inputArray[j];
    } else {
        scoreArr.add(inputArray[j];
    }
}