编写java程序,输入一个整数n,用以代表行数,使用循环嵌套输出如下金字塔形数字的图案的前n行。

编写程序,输入一个整数n,用以代表行数,使用循环嵌套输出如下金字塔形数字的图案的前n行。
1
1 2 1
1 2 4 2 1
1 2 4 8 4 2 11 2 4 8 16 8 4 2 1

第1个回答  2012-10-13
package com.niit.www1;
import java.util.Scanner;
public class Sanjiao {
public static void main(String[] args) {
System.out.println("请输入三角里的最大数:");
Scanner input = new Scanner(System.in);
int max = Integer.valueOf(input.next());// 将字符串转变成int型
int k = max;
int n = (max - 1) * 2 + 1; // 每行的个数
int[][] array = new int[max][n];
for (int i = max; i > 0; i--) {// 从最后一行循环
array[i - 1][k - 1] = max;// 定位中间的位置
int s = 1;
for (int j = max - 1; j > 0; j--) {
s++;
array[i - 1][k - s] = j;
array[i - 1][k - 2 + s] = j;// 左右同时赋值
}
max--;
}
for (int i = 0; i < k; i++) {
for (int j = 0; j < n; j++) {
if (array[i][j] != 0)
System.out.print(array[i][j]);
else {
System.out.print(" ");// 将零变成空格
}
}

System.out.println("");// 换行
}
}
}
相似回答