题目要求输出如下形式:
               1
              1 1
             1 2 1
            1 3 3 1
           1 4 6 4 1
          ~~~~~~~~~~~
我用JAVA编写的代码如下:
public class YangHui{
public static void main(String args[]){
   int i=1,j=1,n=8;
            int a[][]=new int[20][20];
            for(i=1;i<=n;i++)
              {  
                a[i][n-i+1]=1;//问题:若我只运行赋1这段程序,为什么除1的其他地方会输出0 
                a[i][n+i-1]=1; 
              }
           for(i=3;i<=n;i++)
           for(;j>n-i+1&&j<n+i-1;)
               a[i][j]=a[i-1][j-1]+a[i-1][j+1];
           for(i=1;i<=n;i++)
             { for(j=1;j<=2*n-1;j++)
               if(a[i][j]==0)
                 System.out.print(' ');//问题:若此处我不用这个if语句,则以下输出结果
// 除1之外全为0,为什么(和上面的问题性质差不多)??
               else 
                System.out.print(a[i][j]);
               System.out.println();    
     }   
 }

我的输出结果是:
               1
              1 1
             1   1
            1     1
           1       1
中间没有数字
请高手指教错在什么地方了?

解决方案 »

  1.   

    public class Print{
    public static void main(String [] args)
    {
    Print myPrint=new Print();
    myPrint.printYH();
    }
    void PrintA()
    {
    System.out.println("aa");
    }
    void printYH()
    {
      int a[][]=new int[8][8];
      int i=0,j=0;
      a[0][0]=1;
      for (i=1;i<=6;i++ )
      {
      for (j=1;j<=6;j++ )
      {
      a[i][j]=a[i-1][j-1]+a[i-1][j];
      System.out.print(" "+a[i][j]);
      }
      System.out.println();
      }
    }
    }
    试试上面的
      

  2.   

    我的修改
    public class Yanghuisanjiao{
    public static void main(String args[]){
    int a[][]=new int[30][30];
    int i=1,j=1,n=8;
    for(i=1;i<=n;i++){
    a[i][n-i+1]=1;
    a[i][n+i-1]=1;
    }
    for(i=3;i<=n;i++){
    for(j=n-i+1+2;j<n+i-1;j=j+2){
    a[i][j]=a[i-1][j-1]+a[i-1][j+1];
    }
    }
    System.out.println(a[0][0]);
    for(i=1;i<=n;i++){
    for(j=1;j<=n*2-1;j++){
    if(a[i][j]==0)
    System.out.print("  ");
    else if(a[i][j]<10)
    System.out.print(" "+a[i][j]);
    else System.out.print(a[i][j]);

    }
    System.out.println();
    }
    }
    }
      

  3.   

    问题已经解决
    我找到错的地方了,错在:for(;j>n-i+1&&j<n+i-1;)
                               a[i][j]=a[i-1][j-1]+a[i-1][j+1];