![](/img/trans.png)
[英]so i am trying to print odd and even number using 2 threads but i am not getting the output i want, i want it to print in 1 to 10 in order
[英]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循環內打印。 如上所述輸入輸入后打印數據。
另請注意使用println和print方法格式化輸出的方式不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.