java输出数字三角形的问题

输入指定行数:输出类似如下图形
想过用循环但做不出来。
最后的效果图如下:

        1***
       2*** 3***
      4*** 5*** 6***
     7*** 8*** 9*** 10**
    11** 12** 13** 14** 15***

一个简单的实现:


public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner sc = new Scanner(System.in);
        int line = sc.nextInt();
        
        int p = 0;
        for(int i = 0;i<line;i++) {
            for(int j=line-i-1;j>=0;j--) {
                System.out.print(" ");
            }
            
            for(int k=0;k<i+1;k++) {
                System.out.print(p+1);
                if(p<9) {
                    System.out.print("*** ");
                }else if(p>9&&k!=i) {
                    System.out.print("** ");
                }else {
                    System.out.print("*** ");
                }
                p++;
            }
            
            System.out.println();
        }
        
    }