题目如图
完整代码如下
import java.util.Scanner;
public class Nm {
public static void main(String[] args) {
System.out.println("您想要几行数字");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
for (int i = 1; i <=a; i++) {
for (int j = 0; j <=a-i ;j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2*i-1; k++) {
System.out.print(i);
}
System.out.println();
}
}
}
思路:每一行先打印出左边的空格,再打印数字
1.输入数字a,即行数。
2.循环a次,创建一个循环的框架,每次循环打印完一行数字,最后用println换行。
2.创建打印空格的循环:我们可以发现第一行的空白格数是a-1,第二行是a-2,以此类推,循环到第i行时空白为a-i,每一行循环时先让一个空格打印a-i次即可。
3.创建打印数字的循环,我们可以推断出每行数字的数量是2*i-1,于是每次循环打印出2*i-1个i即可。