Java - Sobre contar pares.

   
Vista:

Sobre contar pares.

Publicado por jose (2 intervenciones) el 20/10/2013 13:19:02
Hola a todos,

Estoy empezando con java.

Me piden que haga un ejercicio que a traves de un bucle for que escriba numeros hasta que se escriba 0 hasta ahí bien, que atraves de un bucle pregunte varias veces.

Sin embargo me piden que de todos los numeros escritos nos imprima el numero de pares que hemos escrito.

Esto es lo que he escrito:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
public class ComptaParelles {
 
    public static int FI=0;
    public static int NUMERO;
 
    public static void main(String[] args) {
    int i=0;
    int contPares = 0;
 
        for (;i==FI;) {
 
            Scanner lector=new Scanner(System.in);
            System.out.println("Escribe varios numero");
            NUMERO = lector.nextInt();
 
      if ( NUMERO == FI ) {
          if(NUMERO%2==0) {
              contPares++;
          System.out.println("El numero de pares es: " + contPares);
          break;
 
          }
 
         }
    }
 
}
    }

El problema es que siempre marca uno.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sobre contar pares.

Publicado por Vicente (56 intervenciones) el 20/10/2013 15:46:45
El problema es que tu código es una castaña pilonga. Fuera de que tengas que hacerlo bastante mas limpio y sin la mitad de variables que te sobran. Piensa que ya puedes ingresar 1 millon de numeros pares, que sólo cuando metes el 0 te lo cuenta como par. Esos If están bastante mal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sobre contar pares.

Publicado por William Alexander Brito Viñas (12 intervenciones) el 21/10/2013 04:47:20
El codigo no esta correcto. Te adjunto un snippet de codigo legible.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class SandBox {
    public static void main(String[] args) {
        // counting even numbers
 
        int n;
        int cantPares = 0;
        Scanner scanner = new Scanner(System.in);
 
        do {
            System.out.print("Entre un numero. (Cero para terminar): ");
            n = scanner.nextInt();
            if ((n != 0) && (n % 2) == 0) {
                cantPares++;
            }
        } while (n != 0);
 
        System.out.printf("La cantidad de numeros pares entrados fue de %d numeros\n", cantPares);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar