La copia del código es la siguiente:
/*Java
*Autor: Nealfeng en Oschina.net
*Licencia: GPLV2+
*Hora: 2014/1/17
*
*Salida de la pirámide digital en la consola:
* 1
* 1 2 1
* 1 2 4 2 1
* 1 2 4 8 4 2 1
* 1 2 4 8 16 8 4 2 1
*El defecto de la salida de la consola es que los números no se pueden centrar por completo, y solo pueden estar a la derecha o a la izquierda.
*/
Número de clase pública Pyramid {
public static void main (string [] args) {
// Número de filas
int Linenumber = 5;
// Base
int basenumber = 2;
// Generar números, y los números se guardan en la matriz {1,2,4,8, ..., 2^n}
int [] números = new int [Linenumber];
números [0] = 1;
para (int i = 1; i <lino number; i ++) {
Números [i] = números [i-1] * BaseNumber;
}
// Calcule cuántos caracteres ocupa cada número: el número máximo de dígitos + 2
int columnspernumber =
String.ValueOf (números [LinenEnuming-1]). Longitud () + 2;
// Salida, el formato de salida es el siguiente:
// cada sangría = columnspernumber espacios
// Cada ancho de número es columnspernumber
// Esto formará una forma de pirámide
// Número de sangría de sangría de sangría de sangría
// sangría de sangría en números digitales
// dígitos sangrados dígitos
// números digitales
para (int i = 0; i <lino number; i ++) {
// sangría de salida
para (int j = 0; j <linenumber-i-1; j ++)
System.out.printf ("%"+columnspernumber+"s", "");
// Número de salida
// Salida {1,2,4,8, ..., 2^n}
para (int k = 0; k <i+1; k ++)
System.out.printf ("%"+columnspernumber+"d", números [k]);
// salida {2^n-1, ..., 8,4,2,1}
para (int m = 0; m <i; m ++)
System.out.printf ("%"+columnspernumber+"d", números [im-1]);
//Ganar
System.out.println ();
}
}
}