簡體   English   中英

我想從輸入數組列表中打印偶數和奇數

[英]I want to print even and odd number from an input array list

我想從輸入數組列表中打印偶數和奇數。

輸入: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);
...
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]);
            } else {
                odd.add(number[i]);
            }
        }
        System.out.println("Even number is :");
        for (Integer e : even) {
            System.out.print(e + " ");
        }
        System.out.println("\nOdd number is :");
        for (Integer o : odd) {
            System.out.print(o + " ");
        }
    }

您正在讀取用戶輸入的for循環內打印。 如上所述輸入輸入后打印數據。

另請注意使用printlnprint方法格式化輸出的方式不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM