杨辉三角的打印(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行.(注意行末 ...
随机推荐
- [C++ STL] 迭代器(iterator)详解
背景:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间非连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历.因此,我们引入迭代器概念. 一.迭代器(iterator)介绍 ...
- [Qt Quick入门] 基本元素初体验
Qt Quick作为QML语言的标准库,提供了很多基本元素和控件来帮助我们构建Qt Quick应用.这节我们简要地介绍一些Qt Quick元素,如Rectangle.Item.Text.Button. ...
- map Codeforces Round #Pi (Div. 2) C. Geometric Progression
题目传送门 /* 题意:问选出3个数成等比数列有多少种选法 map:c1记录是第二个数或第三个数的选法,c2表示所有数字出现的次数.别人的代码很短,思维巧妙 */ /***************** ...
- python tkinter窗口置顶
下面两句即可实现root窗口的置顶显示,可以用于某些程序的消息提示,能够弹出到桌面显示 root = Tk()root.wm_attributes('-topmost',1)
- [ NOI 2002 ] 银河英雄传说
\(\\\) Description 有 \(n\) 列战场,每一列一开始只有一个战舰,编号就是对应的战场编号. 有 \(m\) 次操作: \(M_{i,j}\) :把 \(i\) 所在的一整列接在 ...
- 前端--3、jQuery
介绍 jQuery是一个Javascript框架.其宗旨是——WRITE LESS,DO MORE! 是轻量级的js库,兼容CSS3和各种浏览器. 作用:处理HTMLdocuments.events. ...
- Debug技巧(1)
首先声明,以下有些是自己遇到的问题自己解决了,其它里面包括了网上看到的Debug经验和书里看到的经验,时间问题就不一一说明,如有侵权,私信我进行删除,我会道歉.我写这个的本意是记录我学习中遇到的问题, ...
- 【C++】智能指针简述(四):shared_ptr
在开始本文内容之前,我们再来总结一下,前文内容: 1.智能指针采用RAII机制,在构造对象时进行资源的初始化,析构对象时进行资源的清理及汕尾. 2.auto_ptr防止拷贝后析构释放同一块内存,采用& ...
- 【Linux】 JDK安装及配置 (linux-tar.gz版)
安装环境:Linux(CentOS 7 64位 版) JDK安装:tar.gz为解压后就可以使用的版本,这里使用jdk-8u211-linux-x64.tar.gz版,安装到/usr/java/(us ...
- 创建一个 Vue 的实例
每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 选项:el.data.methods el: 类型: ...