杨辉三角--java程序实现(完美正三角形)

本文介绍了如何使用Java编程实现杨辉三角,展示了优化后的打印数组方法,生成的杨辉三角形展示详细,包括多行的展示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

杨辉三角:

 

public static void printYangHui(int x) {
	//准备两个数组备用  使用Arraylist不用操心容量问题
	ArrayList<Integer> newLine=new ArrayList<>();
	ArrayList<Integer> oldLine=new ArrayList<>();
		
	int n=1;
	while(n<x+1) {
            
	    //打印空格 使其成三角
	    for(int i=0;i<x-n;i++) {
		System.out.print("  ");
            }
	    //前两行不需要特殊操作
	    if(n==1||n==2) {
		oldLine.add(1);
		printArr(oldLine);//打印数据行 (此方法是为了美观重写的)
	    }else {
		//新行首尾 添加1
		newLine.add(1);
		//新行中间 获取 上一行两个数据和
		for(int i=1;i<oldLine.size();i++) {
			int a=oldLine.get(i-1)+oldLine.get(i);
			newLine.add(a);
		}
		newLine.add(1);
				
		printArr(newLine);//打印新行数据
			
		//newLine转移数据到oldLine 为下一行打印做准备
		oldLine.clear();
		for (Integer integer : newLine) {
			oldLine.add(integer);
		}
		newLine.clear();

	    }

	    n++;

        }//while	
}

 

重新写了个打印数组的方法,更美观些:

//打印数组
public static void printArr(ArrayList<Integer> list) {
    for(int i=0;i<list.size();i++) {
	if(list.get(i)>=10)
	    System.out.print(list.get(i)+"  ");
	else
	    System.out.print(list.get(i)+"   ");
    }
    System.out.println();
}

打印成果(复制到此文本编辑器拉 形状被拉长了些):

               1   
             1   1   
           1   2   1   
         1   3   3   1   
       1   4   6   4   1   
     1   5   10  10  5   1   
  1   6   15  20  15  6   1   
1   7   21  35  35  21  7   1  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值