package javaapplication1;
/**
*
* @author
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int[] scores = {1,2,3,4,5,6};
int[] fin = extractAllEvens(scores);
for(int i =0; i<fin.length; i++) {
System.out.println(fin[i]);
}
}
public static int[] extractAllEvens(int[]scores) {
int evenCount = 0;
for (int i =0; i<scores.length; i++) {
if (scores[i] % 2 ==0) {
evenCount++;
}
}
int[] newScores = new int[evenCount];
int j = 0;
for(int i = 0; i<scores.length; i++) {
if(scores[1] % 2 ==0) {
newScores[1] = scores[i];
j++;
}
}
return newScores;
}
}
我正在尝试输出2,4,6。
但我不断得到像0,6,0这样的结果。
我觉得我把变量搞砸了i或j或者数字1以及可能是他们的位置......任何人都可以帮助我朝着正确的方向前进吗?
答案 0 :(得分:1)
for i = 1:size(B,1)
if all(a(i,:)>inst)==1
i,
end
end
和scores[1] % 2 == 0
?
您已硬编码仅使用newScores[1] = scores[i]
的索引1
(第二个元素)。
您可能应该使用newArray
作为索引而不是j
。
答案 1 :(得分:0)
您的上一个循环使用1作为固定循环索引。
将其更改为 i 。
答案 2 :(得分:0)
像这样更改第二个for循环 -
for (int i = 0; i < scores.length; i++) {
if (scores[i] % 2 == 0) {
newScores[j] = scores[i];
j++;
}
}
干杯!
答案 3 :(得分:0)
而不是
<br>"TextN"
应该是
if(scores[1] % 2 ==0) {
newScores[1] = scores[i];
O / P:2 4 6