A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 爱学习爱java.. 中级黑马   /  2016-8-5 08:36  /  559 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[mw_shl_code=java,true]public class YangHui {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int n = 6;
                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=2;x<arr.length;x++){
                        for(int y=1;y<=x-1;y++){
                        arr[x][y]=arr[x-1][y-1]+arr[x-1][y];
                        System.out.print(arr[x][y]+"\t");
                                        }
                        System.out.println();
                }
               
        }
               
}[/mw_shl_code]
提问:为什么输出结果是这样的,没有定义的第一行和最后一行数据为1。
2
3   3
4   6   4
5   10  10   5

3 个回复

倒序浏览
你这个算法有问题,而且你的第一行数据并没有打印
回复 使用道具 举报
jiajun 发表于 2016-8-5 08:58
你这个算法有问题,而且你的第一行数据并没有打印

怎么修改下呢..
回复 使用道具 举报
jiajun 发表于 2016-8-5 08:58
你这个算法有问题,而且你的第一行数据并没有打印

[mw_shl_code=java,true]public class YangHui {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int n = 6;
                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=2;x<arr.length;x++){
                        for(int y=1;y<x;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();
                        }
        }
               
}[/mw_shl_code]改好了,嘿嘿,谢谢提醒,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马