zerofour:
Quiero imprimir número par e impar de una lista matriz de entrada.
Entrada: 1 2 3 4
Rendimiento esperado
número par es: 2 4
número impar es: 1 3
pero me da mi salida es
Odd number is [1]
Even number is [2]
Odd number is [1, 3]
Even number is [2, 4]
Creo que es el bucle que podría poner erróneamente?
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);
}
}
}
}
Trevor Keller:
El programa está funcionando correctamente, pero sus println
declaraciones debe ir después del for
bucle en lugar de dentro de ella. Los espectáculos de salida que se está imprimiendo las listas de números pares e impares a medida que se generan , en lugar de después de todo el conjunto de entrada se han procesado.
...
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);
...