//数组三角递增图形输出
public class Arryays{
public static void main(String args[]){
int i,j;
char a[][]=new char[5][];
a[0]=new char[1];
a[1]=new char[3];
a[2]=new char[5];
a[3]=new char[7];
a[4]=new char[9];
a[0][0]='a';
for(i=0;i<3;i++)
a[1][i]='b';
for(i=0;i<5;i++)
a[2][i]='c';
for(i=0;i<7;i++)
a[3][i]='d';
for(i=0;i<9;i++)
a[4][i]='e';
for(i=0;i<5;i++){      //不懂以下的for语句的思想!……!???
for(j=15-i;j>0;j--)
System.out.print(" ");
for(j=0;j<=2*i;j++){
System.out.print(a[i][j]+"");
}

解决方案 »

  1.   

    最后一个循环后差了一个打印空格的,System.out.println();
    见后面的代码,
    代码运行的效果应该如下(每行前有空格):
                     a
                  bbb
                 ccccc
                ddddddd
               eeeeeeeee
    关于for循环的说明见代码中的注释(记得结贴哦)。public class Arryays{ public static void main(String args[]) {
    int i, j;
    char a[][] = new char[5][];
    a[0] = new char[1];
    a[1] = new char[3];
    a[2] = new char[5];
    a[3] = new char[7];
    a[4] = new char[9];
    a[0][0] = 'a';
    for (i = 0; i < 3; i++)
    a[1][i] = 'b';
    for (i = 0; i < 5; i++)
    a[2][i] = 'c';
    for (i = 0; i < 7; i++)
    a[3][i] = 'd';
    for (i = 0; i < 9; i++)
    a[4][i] = 'e';
    for (i = 0; i < 5; i++) { // 外层循环5次,打印5行字母
    for (j = 15 - i; j > 0; j--)//表示每行打印字母前打印的空格数,第一行15个,依次递减
    System.out.print(" ");
    for (j = 0; j <= 2 * i; j++) {//表示每行打印同一字母的个数,和行数相关的规律
    System.out.print(a[i][j] + "");
    }
    System.out.println();
    }
    }
    }
      

  2.   

    恩效果就是这样滴               a
                  bbb
                 ccccc
                ddddddd
               eeeeeeeee
      

  3.   


    是15个,for (j = 15 - i; j > 0; j--),第一次当i=0时j=15,从15到1你掰着手指头数数是不是15个