bucle para contar el número de los términos de java

Hola chicos estoy atascado en cuenta para un bucle for… debería ser fácil, pero por alguna razón estoy pensando en él o algo así!
Cualquier ayuda sería impresionante!

estoy tratando de conseguir el número total de términos que pasa a través de %2 e imprimir, pero cuando voy a probar a mi manera lo hace 11223344556677889910 que me pareció raro! todo lo que quiero hacer es llegar a decir (10).

int counter = 0 

for (int i = 1; i < 20; i++) {
    if (i % 2 == 1) {
        counter += 1;
    }
    System.out.print(counter);
}

de salida es 112233445566778899

no puede utilizar matrices o listas :\

  • Por favor, mostrar el código completo, porque lo que usted tiene no se compila.
  • Recomiendo aprender a usar un depurador.
  • Sólo una nota, que realmente necesita para aclarar que pass through %2. Alguien podría entender que pasan a través de los medios que el resto de la i%2 no es 0 y alguien podría pensar que es 0.
InformationsquelleAutor Bob | 2013-10-16

7 Kommentare

  1. 1

    if condición parece incorrecta, intente con: (EDIT: inicio counter con 1 y SOP de for bucle)

    int counter = 1 
    
    for(int i=1;i<20;i++) {
    if (i%2==0) //Match for 2
    { 
      counter+=1;
    }
    }
    System.out.print(counter);
    • «El partido por 2», % es el operador de módulo, que calcula el resto de la distancia Euclídea de la división de a por b
    • gran funcionó! gracias hombre!!! pensaba que ya lo intenté pero creo que no! realmente lo apreciamos!!
  2. 0

    Sistema.a cabo.la impresión es en el interior de su bucle for, es la impresión de cada iteración.

    Si quieres 10, mueva la llamada .imprimir() fuera del bucle for, y empezar el contador en 1 en lugar de 0.

  3. 0

    El resultado es correcto en este caso. Imprime la cantidad total de counter cada vez que se ejecuta el bucle. Por lo que para i=0, que sería el contador=1, para i=1, que sería todavía contador=1, para i=2, el contador se incrementa a 2, para i=3 el contador sigue siendo 2 el cual es impreso etc.

    El código funciona correctamente, pero hay un error en ella. Mueva el System.out.print(counter); fuera de la for bucle y debería funcionar correctamente. También recordar inicializar su counter a 1.

  4. 0

    Que usted necesita para imprimir el contador fuera del bucle for System.out.print(counter); y se parece a i%2==1 no es correcta. Usted necesita cambiar a i%2==0

    int counter = 0 
    
    for(int i=1;i<20;i++) {
         if (i%2==0)
         {
             counter+=1;
         }
    }
    System.out.print(counter);
  5. 0

    Tomar la print de la línea de la for loop, o de lo contrario imprimir el recuento de cada iteración (obviamente), que es 19 veces.

    int counter = 0;
    
    for(int i = 1; i < 20; i++) 
    {
        if (i % 2 == 1) counter++;
    }
    System.out.print(counter);
  6. 0

    Que han puesto System.out.print(counter); dentro del bucle for. Esa es la razón. Esto va a funcionar:

    int counter = 0; 
    for(int i=1;i<20;i++) {
        if (i%2==1)
        { 
            counter+=1;
        }       
    }
    System.out.print(counter);

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea