字符串数字

时间:2017-03-08 18:24:35

标签: java arrays

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以及可能是他们的位置......任何人都可以帮助我朝着正确的方向前进吗?

4 个答案:

答案 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