私は、入力配列のリストから偶数と奇数の番号を印刷したいです

zerofour:

私は、入力配列のリストから偶数と奇数の番号を印刷したいです。

入力:1 2 3 4

予想される出力

偶数である:2 4

奇数である:1 3

しかし、私は私の出力があり得ます

Odd number is [1]
Even number is [2]
Odd number is [1, 3]
Even number is [2, 4]

私は、forループを誤ってそこに置くかもしれないと思いますか?

import java.util.ArrayList;
import java.util.Scanner;

public class Question1 {
    public static void main(String[] args) {
        ArrayList<Integer> even = new ArrayList<Integer>();
        ArrayList<Integer> odd = new ArrayList<Integer>();

        int[]number=new int[10];
        Scanner read = new Scanner (System.in);

        System.out.print("Enter number :" );

        for(int i=0;i<number.length;i++){
            number[i]=read.nextInt(); 

            if(number[i]%2==0){
                even.add(number[i]);  
                System.out.println("Even number is " + even);
            }
            else{
                odd.add(number[i]);
                System.out.println("Odd number is " + odd);
            }
        }   
    }
}
トレバー・ケラー:

プログラムが正常に動作しているが、あなたのprintln文は、後に行くべきforループではなく、それの内部。それは奇数と偶数のリストを印刷だと出力が示すそれらが生成されているとして、全体ではなく、入力セットが処理された後。

...
for(int i=0;i<number.length;i++){
    number[i]=read.nextInt();
    if(number[i]%2==0)
        even.add(number[i]);
    else
        odd.add(number[i]);
}
System.out.println("Even number is " + even);
System.out.println("Odd number is " + odd);
...

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=336019&siteId=1