作业帮 > 综合 > 作业

用Java编写一个嵌套的for循环打印下列图案:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/09 01:12:15
用Java编写一个嵌套的for循环打印下列图案:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
还有第一个1要在中间,其实就是一个金字塔形.
public class Du {
public static void main(String[] args) {
final int num = 8;//要输出几行就在这里控制了
int[][] ary = fillArray(num);
for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[i].length; j++) {
if(ary[i][j] != 0){
System.out.print(ary[i][j] + " ");
}else{
System.out.print(" " + " ");
}
}
System.out.println();
}
}
private static int[][] fillArray(final int num) {
int[][] ary = new int[num][num * 2 - 1];
for (int i = 0; i < ary.length; i++) {
int start = i + 1;
// 向前打印到1
for (int j = num; ary[i][j--] != 1;) {
ary[i][j] = start--;
}
// 向后打印到1
start = i;
for (int j = num - 1; ary[i][j++] != 1;) {
ary[i][j] = start--;
}
}
return ary;
}
}
---------------------------
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1