对于数组,我如何获取偶数索引的所有值并添加到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]);
}
}
答案 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];
}
}