打印杨辉三角并对齐输出
来源:互联网 发布:天翼阅读软件 编辑:程序博客网 时间:2024/05/19 00:53
public class Demo {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入杨辉三角层数:");// 行数int row = Integer.parseInt(br.readLine());// 创建二维数组int[][] arr = new int[row][row];// 指定杨辉三角中竖变和斜边的值赋予1for (int i = 0; i < arr.length; i++) {arr[i][0] = 1;arr[i][i] = 1;}// 确定除1以外的数for (int i = 2; i < arr.length; i++) {for (int j = 1; j < i; j++) {arr[i][j] = arr[i-1][j-1] + arr[i-1][j];}}// 打印二维数组for (int i = 0; i < arr.length; i++) {for (int j = 0; j <= i; j++) {System.out.print(arr[i][j]+ "\t");}System.out.println();}}}
此格式并不是等腰三角格式,需要优化
思路:根据最大数的位数确定空格数-->相邻两数的最高位之间的距离相等-->数字位数增大几位,空格就减少几位
public class Demo {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入杨辉三角层数:");// 行数int row = Integer.parseInt(br.readLine());// 创建二维数组int[][] arr = new int[row][row];// 指定杨辉三角中竖变和斜边的值赋予1for (int i = 0; i < row; i++) {arr[i][0] = 1;arr[i][i] = 1;}// 确定除1以外的数for (int i = 2; i < row; i++) {for (int j = 1; j < i; j++) {arr[i][j] = arr[i-1][j-1] + arr[i-1][j];}}// 打印二维数组String maxNumLengthSpace = "";String maxNum = String.valueOf(arr[row-1][row/2]);;// 根据最大数字的长度,确定空格的大小for (int m = 0; m < maxNum.length(); m++){maxNumLengthSpace += " "; }for (int i = 0; i < row; i++) {// 打印杨辉三角左边的空格for (int j = 0; j < row-1-i; j++) System.out.print(maxNumLengthSpace + " ");// 打印杨辉三角数字间的空格for (int j = 0; j <= i; j++) {String moreNumLengthSpace = "";// 得到当前数字String num = String.valueOf(arr[i][j]);// 根据相邻两数长度的差值确定空格数,数字长度越长,空格数越少(因为相邻两数的最高位之间的距离相等)for (int a = 0; a <= (maxNum.length() - num.length()); a++) {moreNumLengthSpace += " ";}System.out.print(arr[i][j] + maxNumLengthSpace + moreNumLengthSpace + " ");}System.out.println();}}}
0 0
- 打印杨辉三角并对齐输出
- java实现杨辉三角,输出对齐
- C++杨辉三角完美打印输出
- 自定义杨辉三角行数并打印
- 杨辉三角的金字塔数字打印输出
- Java算法---杨辉三角的打印输出
- 利用循环队列打印输出杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 打印-杨辉三角
- 打印杨辉三角
- 打印杨辉三角
- 自定义圆形进度条,模拟开屏广告倒计时
- 上机四
- git命
- C++Builder XE6开发海康设备控制软件--报警信息读取
- flannel 实战与源码分析(六)
- 打印杨辉三角并对齐输出
- IOCTL函数的实现
- Android SDK 环境变量配置-Windows7-20170427
- Xutils笔记
- Apache server.xml详解
- st表求最值
- Service实战:使用Service完成一个下载任务
- 【PM】【需求】项目管理-需求:业务需求调研经验分享
- 抓取网易云音乐歌曲热门评论生成词云