杨辉三角的打印(Java)
//
//输入指定的行数,打印杨辉三角
//
//每个数等于它上方两数之和。
//每行数字左右对称,由1开始逐渐变大。
//第n行的数字有n项。
//
//
//
//可从打印菱形的思想出发:????? // 存在问题: 随着行数的增加,数字增大,占用空间增大,慢慢变得不“对称”。
package com.day16;
import java.util.Scanner;
public class testYangHuiSanJiao{
public static Scanner Sc =new Scanner(System.in); //初始化行数组,是每一行数组第一元素为1;
public static int[][] inital(int [][] ary){ for( int i=0;i<=ary.length-1;++i){ ary [i] = new int [i+1]; //每行元素个数本等于行数i,
//但注意到 数组是从 0 开始的,故行数组初始化为[i+1]的大小
ary[i][0]=1;//首元素初始化为1;
ary[i][i]=1; //末元素初始化为1;
} int row,colum;
for(row = 2;row <= ary.length-1;row++){ //前两行初始化已完成,从第三行开始
for(colum = 1;colum < row;colum++){ //每一行数组第一个元素(下标为0)已初始化为1,
//从第二个元素(下标为1)开始
//末元素已初始化为1,故column < row ; ary[row][colum]=ary[row-1][colum-1]+ary[row-1][colum]; }
} // //Check row ary[][]
//
// for(int i = 0; i<=ary.length-1;i++){
// for(int j = 0; j<=i;j++){ //初始化大小决定 j<=i
// System.out.print(ary[i][j]+" ");
// }
// System.out.println();
//
// }
// //测试通过,初始化正确; return ary; } public static void prtyhsj (int [][] ary){ int cbkn= ary.length-0 ;
for(int row = 0;row <= ary.length-1;row++){
//每行首先打印相应的空格;
for(int i = cbkn ; i > 0;i--){
System.out.print(" ");
}
//在打印相应行数组的元素+空格;
for(int col = 0;col <= row; col++){
System.out.print(ary[row][col]);
System.out.print(" ");
}
//打印后续对称连续空格
for(int i = cbkn;i > 0;i--){
System.out.print(" ");
}
cbkn--; System.out.println();//一行打印结束执行换行
} }
public static void main (String [] args){
System.out.println("Please input row:");
int rownum = Sc.nextInt();
System.out.println("Printing "+rownum+" row YHSJ"); //定义二维数组,第一维为行数组,并初始化
int [][] rowary = new int [rownum][] ; inital(rowary);
prtyhsj(rowary); }
}
杨辉三角的打印(Java)的更多相关文章
- 使用Python实现的杨辉三角
def triangel(): print ' '*(20*3)+str(1) #定义起始两行 print ' '*(19*3)+str(1)+' '*5+str(1) for i in range( ...
- 使用Java打印杨辉三角
package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static ...
- [Java练习题] -- 1. 使用java打印杨辉三角
package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...
- java代码打印打印杨辉三角
郑州大学 徐峰 public class Print { void print(){ int[][] a=new int[6][6]; for(int i=0;i<a.length;i++){ ...
- Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
//import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...
- Java实现杨辉三角
杨辉三角用了两种方法解决 二维数组/递归方法 +—————————————————————————— import java.util.Scanner; public class YangHui02 ...
- Java之杨辉三角的实现
今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 import java.util.Scanner; public class Second { public sta ...
- 1233: 输出杨辉三角前n行(Java)
WUSTOJ 1233: 输出杨辉三角前n行 题目 原题链接 Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末 ...
随机推荐
- 51nod2006 飞行员配对(二分图最大匹配)
2006 飞行员配对(二分图最大匹配) 题目来源: 网络流24题 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 第二次世界大战时期,英国皇家空军从沦陷国 ...
- 转 linux之sed命令详解
http://jingyan.baidu.com/article/fec4bce2228f60f2618d8bb0.html sed 编辑裁剪文件命令 sed -i "s/\/db\/te ...
- duilib属性
原文转载自:http://blog.csdn.net/lixiang987654321/article/details/45008441 这里我想讲解一下duilib中的一些属性的理解,当然这是一篇永 ...
- ubuntu下删除和新建用户(并有su权限)
http://blog.csdn.net/speedme/article/details/8206144ubuntu下删除和新建用户(并有su权限) 如何创建ubuntu新用户?输入:sudo add ...
- Android常见问题总结(二)
1.布局文件LinearLayout线性布局添加内容报错. 解决方法: 线性布局LinearLayout中包裹的元素多余1个需要添加android:orientation属性. 2.android 的 ...
- 介绍Git的17条基本用法
本文将介绍Git的17条基本用法.本文选自<Python全栈开发实践入门>. 1.初始化Git仓库 Git仓库分为两种类型:一种是存放在服务器上面的裸仓库,里面没有保存文件,只是存放.gi ...
- Linux 学习(三)
Linux进程 1.进程 进程:可执行应用程序执行后产生的对应的进程,重量级:进程是由一个线程或多个线程构成: 线程:是计算机中的最小单位,轻量级(依赖和物理性是独立存在的).损耗较低 假设进程1是由 ...
- 拒绝了对对象 'data'(数据库 'xxx',所有者 'dbo')的 SELECT 权限
拒绝了对对象 'data'(数据库 'xxx',所有者 'dbo')的 SELECT 权限解决的方法:1>在数据库里相应的用户权限中,把db_denydatareader的复选框的勾去掉.很多初 ...
- centos上安装supervisor来管理dotnetcore等应用程序
supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...
- 什么是vuejs之重新认识vuejs
什么是vuejs? 1.它是一个轻量级的mvvm框架 2.数据驱动+组件化的前端开发 3.github超过25k+的stat数,社区完善 4.vuejs更轻量,gzip后大小只有20k+ 5.vuej ...