初学,编写的等腰杨辉三角,一些笔记

说实话这个编辑器第一次用还没看明白

左边编辑右边直接预览的意思么

。。。实在太长了今天先不看这编辑器的使用方法了

直接贴代码了,

package yhsjshuzu;
import java.util.Scanner;                   	// 调入Scanner
public class dengyaoyanghui {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	System.out.print("请输入杨辉三角的行数:");
	Scanner sc = new Scanner(System.in);       // Scanner用法
		int n = sc.nextInt();	               // 同样Scanner
		sc.close();
		//这里有数据泄漏 使用XXX.close; 关闭sc
	int arr[][] = new int[n][2*n-1];
	/* 定义一个n行,2n-1列的数组
	 * [x][n-1-x]项和 [x][n-1+x]项的值为 1
	 */
	for (int x = 0; x < n; x++) {
		arr [x][n-1-x] = 1;
		arr [x][n-1+x] = 1;
		//每行的起始项和结束项都是1,第一行因为起始和结束都是中间位置,没有必要分开写
		}
	for (int x = 2; x <= n-1; x++) {  
		// 然后从第三行开始,两边为1,写里边的数值,因为第一行和第二行都是1
		for(int y = n+1-x; y < 2*n-3; y+=2){
		//从每行不是1的项的位置开始,直到最后项,每次隔开一个位置 计算上边行两个数的和
			arr[x][y]=arr[x-1][y-1]+arr[x-1][y+1];			
		}
	}	
	//历遍数组,输出的时候,为值为0的項输出" "和\t,不为0的项,该是什么还是什么
	for (int x = 0; x < n;x++) {
		for (int y = 0; y < 2*n-1;y++) {
			//y<2*n-1每行项的个数
			if(arr[x][y]==0) {
				System.out.print(" "+"\t");
			}
			else {
				System.out.print(arr[x][y]+"\t");
			}
			}
		System.out.println("");
		}
	}
	}

里边规律自己再本子上画了半天感觉很粗糙,不过就结果而言看着还行。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值