黑马程序员技术交流社区

标题: 为什么我写的杨辉三角有问题 ,第一列怎么是0呢 [打印本页]

作者: T-fra    时间: 2015-5-12 00:03
标题: 为什么我写的杨辉三角有问题 ,第一列怎么是0呢
import java.util.Scanner;
class Array2Test3
{
        public static void main(String[] args)
        {
                //system.out.println("Hello World");
                //int[] arr = new int[3];
               
                Scanner sc =new Scanner(System.in);

                System.out.println("请输入一个数据:");
                int n=sc.nextInt();

                int[][] arr=new int[n][n];

                for(int x=0;x<arr.length;x++)
                {
                        arr[x][0]=1;
                        arr[x][x]=1;
                }

                for (int x=0;x<arr.length;x++ )
                {
                        for (int y=1;y<=x-1 ;y++ )
                        {
                                arr[x][y]=arr[x-1][y-1]+arr[x-1][y];
                        }
                }

                for (int x=0;x<arr.length ;x++ )
                {
                        for (int y=0;y<=x ;y++ )
                        {
                                System.out.print(arr[x][y]+"\t");
                        }
                        System.out.println();
                }
        }

}


作者: 我干阿衰    时间: 2015-5-12 01:29
看看这个代码吧
public class YHSJ {
        public static void main(String args[]) {
       
                //打印输出9行9列的杨辉三角
                int b[][] = new int[9][]; // 定义一个二维数组.
                for (int i = 1; i <=9; i++) {
                        b[i-1] = new int[i];
                }
                for (int j = 0; j < 9; j++) {
                        for (int k = 0; k <= j; k++) {
                                if ( j==0 || k == 0 || k == j)
                                {
                                        b[j][k] = 1; // 等于1的
                                        continue;
                                } else {
                                        b[j][k] = b[j - 1][k - 1] + b[j - 1][k]; // 计算值
                                }
                        }
                }
                for (int m = 0; m < 9; m++) {
                        for (int n = 0; n <= m; n++) {
                                System.out.print(b[m][n] + " "); // 循环输出
                        }
                        System.out.println();
                }

        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2