小白狗不是小白 2023-04-23 21:00 采纳率: 85.7%
浏览 22
已结题

Java杨辉三角代码有问题

二维数组

package day3;
//1
//11
//121
//1331
//14641
//15101051
//yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j]
public class text3 {
    public static void main(String[] args){
        int yanghui[][]=new int[10][];
        //初始化二维数组
        for(int i=0;i<yanghui.length;i++){
            yanghui[i]=new int[i+1];
        }
        
        for(int i=0;i<yanghui.length;i++){
            for (int j=0;j<yanghui[i].length;j++){
                if(j==0||j==yanghui[i].length){
                yanghui[i][0]=yanghui[i][i]=0;
                }
                else{
                    yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];

                }
            }
        }

        
        for(int i=0;i<yanghui.length;i++){
            for(int j=0;j<yanghui[i].length;j++){
                System.out.print(yanghui[i][j]+" ");
            }
            System.out.println();
        }
    }
}
  • 写回答

2条回答 默认 最新

  • 阳光宅男xxb 2023-04-24 08:32
    关注

    杨辉三角形:

     public static void main(String[] args) {
            //从控制台读取将要输入的数字,
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入杨辉三角的层数:");
            int n = sc.nextInt();//n是杨辉三角的层数
             
            //定义一个nxn的二维数组用于存储杨辉三角中每个位置的值
            int[][] yanghui = new int[n][n];
            // 初始化第一列和对角线上的值
            for (int i = 0; i < n; i++) {
                yanghui[i][0] = 1;//第一列的值全是1
                yanghui[i][i] = 1;//对角线上的值全是1
            }
            // 计算每个数的值
            for (int i = 2; i < n; i++) {//从第二行开始循环,循环n-1次
                for (int j = 1; j < i; j++) {//从第1列开始循环,循环i-1次,因为第i行只有i-1列
                    yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j]; //第i行第j列的值=第i-1行第j-1列的值+第i-1行第j列的值,
                }
            }
            // 输出杨辉三角
            for (int i = 0; i < n; i++) {//共n行,循环n次
                for (int j = 0; j <= i; j++) {//第i行有i,所以循环i次,比如,第一行有1列
                    System.out.print(yanghui[i][j] + " ");//输出一个值,以空格隔开
                }
                System.out.println();//每输出完一行数字后换行,继续输出下一行
            }
        }
    
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 请详细说明问题背景 6月14日
  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看