1、先看下运行结果图:
2、这里的6表示总共6行(总行数记为n);这个题是有规律可循的;首先从键盘录入要输出的行数,这里以6来举例:首先每一行的最大数就为当前行数(用h表示),然后就是每行要打印的空格数,就是:总行数-当前为第几行(n-h);找到规律后就可以用一个for循环嵌套三个等级for循环即可实现;外层的for循环表示总共的行数,里面的第一个for循环打印第h行的空格数,第二个for循环打印从1~h,第三个for循环打印从h-1~1,三个简单的for循环即可解决。具体代码如下:
public static void main(String[] args) {
Scanner cst = new Scanner(System.in);
int n=cst.nextInt();
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) {
System.out.print(" ");
}
for(int l=1;l<=i;l++) {
System.out.printf("%d", l);
}
for(int p=i-1;p>0;p--) {
System.out.printf("%d", p);
}
System.out.print("\n");
}
cst.close();
}