1.这里可以不用类,直接在主函数中写,然后就找第一行*的个数m,空格的个数,和列数n之间的关系。就可以易得:每一行的m等于上一行的m+2;然后空格数最好设一个参数b等于n,不要直接去找跟n之间的关系,n的改变容易影响循环,就可以知道空格数=b-1,然后表示出来就行了。

import java.util.Scanner;
public class step3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入第一行*号的个数:");
        int m=sc.nextInt();
        System.out.println("请输入列数:");
        int n=sc.nextInt();
        int b=n;
        for(int i=0;i<n;i++) {
            for(int j=0;j<b-1;j++) {
                System.out.print(" ");
            }
            for(int k=0;k<m;k++) {
                System.out.print("*");
            }
            m=m+2;
            b=b-1;
            System.out.println();
        }
    }

}

2.实验结果

java 输出图案 编写java程序输出如下图形_System