¿Cómo se puede escribir un programa Java que imprima un conjunto completo de las primeras cuatro tablas de multiplicación (hasta 12) organizadas en columnas?

Hay dos formas generales de pensar en la implementación: de arriba hacia abajo y de abajo hacia arriba. Iremos de abajo hacia arriba.

Comience con un programa Java vacío que no hace nada

  clase pública principal {
     public static void main (String [] args) {

     }
 }

Agregue salida de línea única sin ningún parámetro

  clase pública principal {
     public static void main (String [] args) {
         System.out.println ("1 x 5 = 5");
     }
 }

Ahora puede usar System.out.printf () en lugar de System.out.println () para agregar tres parámetros.
Pero recuerde poner el carácter de fin de línea \ n

  clase pública principal {
     public static void main (String [] args) {
         System.out.printf ("% dx% d =% d \ n", 1, 5, 1 * 5);
     }
 }

Agreguemos algo de tabulación para alinear columnas

  clase pública principal {
     public static void main (String [] args) {
         System.out.printf ("% d \ tx% d \ t =% d \ n", 1, 5, 1 * 5);
     }
 }

Ahora podemos ajustar esta línea en un primer bucle para parametrizar el segundo multiplicador. Esto nos da una tabla para 1

  clase pública principal {
     public static void main (String [] args) {
         para (int m = 1; m <11; m ++) {
             System.out.printf ("% d \ tx \ t% d \ t =% d \ n", 1, m, 1 * m);
         }
     }
 }

Finalmente, envolver esto en otro ciclo para el primer multiplicador nos da cuatro tablas:

  clase pública principal {
     public static void main (String [] args) {
         para (int t = 1; t <5; t ++) {
             para (int m = 1; m <11; m ++) {
                 System.out.printf ("% d \ tx \ t% d \ t =% d \ n", t, m, t * m);
             }
         }
     }
 }

System.out.printf(format, value); es lo que está buscando para organizar los números de forma ordenada.

Aquí hay un programa que hace lo que quieres:

  // Tables.java
 Tablas de clase pública {
	 public static void main (String [] args) {
     para (int a = 1; a <= 12; ++ a) {
		 para (int b = 1; b <= 4; ++ b) {
		     System.out.printf ("% 4d", (a * b));
		 }
		 System.out.println ();
	     }
	 }
 }

More Interesting

¿Se pueden replicar completamente todas las funciones matemáticas utilizando una secuencia de operadores '+', '-', 'x', '/' (como puede y para la potencia x)?

¿Cuáles son algunos enfoques de aprendizaje no supervisados ​​para la agrupación dada una matriz de distancias por pares?

Para los montones máximos, ¿por qué el orden de build_maxheap () [math] n \ log (n), [/ math] cuando solo tiene que recorrer n / 2 elementos?

¿Por qué la mayoría de los lenguajes de programación prohíben las "desigualdades sandwich"? En matemáticas, es común ver 'desigualdades en emparedado' que muestran que una cantidad es mayor que otra pero menor que otra, por ejemplo, a <b <c significa lo mismo que a <b && b <c.

¿En qué secuencia se debe aprender la estructura de datos, el algoritmo y las matemáticas discretas?

¿Cuál es la complejidad temporal para ordenar n cadenas de n caracteres, cada una utilizando un orden lexicográfico?

Un juego de 64 discos de Tower of Hanoi es jugado por un programa que realiza movimientos a una velocidad creciente. Comienza a 1000 movimientos por segundo. ¿Cuánto tiempo tomará?

¿Cómo ayuda la máquina de Turing a comprender la mente?

¿Es posible crear un lenguaje completo de Turing con solo un puntero de instrucción modificable, una operación de intercambio y un incremento por una operación?

¿Es el código realmente ilegible sin los caracteres de espacio 'innecesarios'?

Dado que la programación va a ser cada vez más abstracta, ¿necesitamos estudiar más matemáticas para ser buenos en eso?

¿Cómo funciona la fórmula para el bit de ajuste más a la derecha?

Cómo diseñar una máquina de Turing con este RE a ^ (2n + 1) b ^ (2n-1)

¿Cómo programar gráficos matemáticos con python? ¿Hay algún paquete que los incluya?

¿Podemos probar P = NP 'P versus NP problem'?