Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

[Bug] No aplica el espaciado entre caracteres

Alguien que me pueda confirmar si en realidad se trata de un bug o ¿hay algo que esté haciendo mal?

public class EjercicioTabla {

    public static void main(String[] args) {
        for (int contador = 0; contador <= 10; contador++) {
            for (int multiplicacion = 0; multiplicacion <= 10; multiplicacion++)
                System.out.print(contador * multiplicacion);
            System.out.print(" ");
        }
        System.out.println(" ");
    }
}

Además me dí cuenta que metiendo el último "System.out.println (" ") dentro del último for, si ejecuta el salto de linea, sin embargo, sigue sin ejecutar el espaciado.

4 respuestas

Hola.

En el codigo que publicas hace falta las llaves { } en el segundo for loop que tienes, por lo que el codigo quedaria asi con la correccion:

public class EjercicioTabla {

  public static void main(String[] args) {
    for (int contador = 0; contador <= 10; contador++) {
      for (int multiplicacion = 0; multiplicacion <= 10; multiplicacion++) {
        System.out.print(contador * multiplicacion);
        System.out.print(" ");
      }
    System.out.println();
    }
  }
}

Adicionalmente cuando utilizas el System.out.println() no es necesario especificar el espacio con las comillas, ya que el metodo por defecto aplica el salto de linea sin necesidad de pasarle argumentos.

O si quieres algo mas ordenado puedes modificar tu código así: Ejemplo:

public class ejercicioTablaMultiplicacion {

    public static void main(String[] args) {
        for(int contador = 0; contador <= 10 ; contador++) {
            for(int multiplicacion = 0 ;multiplicacion <= 10 ; multiplicacion++) {
            
                int resultado = contador * multiplicacion;
                
                System.out.print(contador + " x " + multiplicacion + " = " + resultado);
                System.out.print(" ");
                System.out.println();
            }
            System.out.println();
        }
    }
}

el mio esta asi y no pone columnas, ayudaaaa


public class ejercicioTablaMultiplicacion {

    public static void main(String[] args) {

        for (int contador = 0; contador <= 10; contador++) {
            for (int multiplicacion = 0; multiplicacion <= 10; multiplicacion++) {
                System.out.println(contador * multiplicacion);
                System.out.println(" ");
                System.out.println();
            }
            System.out.println();
        }
    }
}

Hola.

Para que se impriman los resultados de la forma esperada es necesario que hagas las modificaciones que abajo explico en tu codigo:


public class ejercicioTablaMultiplicacion {

    public static void main(String[] args) {

        for (int contador = 0; contador <= 10; contador++) {
            for (int multiplicacion = 0; multiplicacion <= 10; multiplicacion++) {
                System.out.print(contador * multiplicacion); //Aqui se reemplaza el `println` por `print` para que se impriman los valores en una misma fila.
                System.out.print(" "); //Aqui de igual forma se reemplaza el `println` por `print`, para que los espacios entre cada resultado no tengan un salto de linea al final.
                System.out.println(); // este `println` sobra.
            }
            System.out.println(); // este `println` es el que se encarga de dar el salto de linea al terminar cada ciclo.
        }
    }
}

Con los cambios comentados en el codigo deberias tener el mismo resultado que en el ejemplo del instructor, claro que de igual forma puedes animarte a hacerle modificaciones al codigo para tener otra presentacion del ejercicio, como el propuesto por Gamer Cruz Martinez en la respuesta anterior.