【练习】Java实现的杨辉三角形控制台输出
import java.util.Scanner; /**
* YangHui_tst01
* @author HmLy
* @version 000
* - - - - - - -
* 练习代码。(注释比较多)
* 主方法用于实现功能:
* 请求输入指定杨辉三角形大小(自然不能是1)
* 然后打印该三角形。
*
* 上下分割线可动态变动 ---- 这上面,合适的长度其实只是试出来的 ....
* - - - - - - -
*
* 另,小发现:
* import放在文档注释下头,vsc就不支持识别它里头的"@"了。。。。。
*/
// public class YangHui_tst01 {
public static void main(String[] args) {
System.out.println(">>=== === program_ONN=== === >>\n");
/**
* 杨辉三角形
*/
Scanner scn = new Scanner(System.in); System.out.print("# 请输入指定的杨辉三角的层数 : | ");
int yangHui_largeGet = scn.nextInt(); int[][] x_YHui3JX = new int[yangHui_largeGet][];//遍历就"< yangHui_largeGet"就行。。 System.out.print("# ");
System.out.println("指定的层数 : | "+ yangHui_largeGet);
//System.out.println("# ---- --- --- ---- --- --- ---- -" + " ---- --- --- ---- --- --- ---- -"); //<动态分割线尝试>
System.out.print("# ---- --- --- ---- --- -");
for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
System.out.print("- ---- -- - ---- -");
}//for_strxssssssss
System.out.print("\n");
//</动态分割线尝试> //下面应该不需要请求用户输入了?
//造杨辉 //如果large不完全指定,那是不是后面还要用new来腾出空间来?。。。 for (int i = 0; i < yangHui_largeGet; i++) {
x_YHui3JX[i] = new int[i + 1];
}//new 阶梯 //x_YHui3JX[1][1] = 1; //x_YHui3JX[0][0] = 1;//[0][0]是1 。。。 for (int i = 0; i < 2; i++) {
for (int jj = 0; jj <= i; jj++) {//上面没指定单独
x_YHui3JX[i][jj] = 1;
}
}//遍历输入三角头。 //for (int i = 2; i <= yangHui_largeGet; i++) {//从 1 开始...?... // no! from 2! ....
// for (int jj = 1; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
/* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
* 不对,一行一列的话是[0][0]。。。
* 上面注释掉。
*/
// //for (int i = 1; i <= yangHui_largeGet; i++) {//[i=0]不必遍历;从[i=1]开始。
// for (int jj = 0; jj <= i; jj++) {//这边 jj 的最大 同步于 i 。。。//这个就别从 2 开始了。。
/* ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
* 上面也不对,三角头不只一个数。
* 看公式,三角头是有第二行的。
*/
// //遍历表左壁!
for (int i = 2; i < yangHui_largeGet; i++) {
x_YHui3JX[i][0] = 1;
}//for left KABE for (int i = 2; i < yangHui_largeGet; i++) {//[i=0]根据,不必遍历;从[i=1]开始。
x_YHui3JX[i][i] = 1;//遍历右壁(那么下面jj就是<i而不是<=i了。)
for (int jj = 1; jj < i; jj++) {//jj不能从 0 开始,否则,下标会出现[-1]。。。。 --> 所以,还要遍历的不仅仅三角头。
//(其实,可以设定别处皆 0 。 但不那样,省硬件资源。)
x_YHui3JX[i][jj] = x_YHui3JX[i - 1][jj - 1] + x_YHui3JX[i - 1][jj];
}//forjj //输入到数组,就不用换行了。。。
}//fori //上面应该搞~~输出~~造表算是搞完了; //-------------------------------------- //下面搞输出。
System.out.println("# ");
for (int i = 0; i < yangHui_largeGet; i++) {
System.out.print("# \t"); //不换行。
for (int bloki = 0; bloki < yangHui_largeGet - i; bloki++) {
System.out.print("\t");
}//for_bloki
for (int jj = 0; jj <= i; jj++) { //这里jj遍历就到i别忘了,再往外的连初始化都不算了。。。。(不过,先说好,没试。。。完了下面多来个遍历,试试。。)
System.out.print(""+ x_YHui3JX[i][jj] +"\t\t" );
}//forjj
System.out.println();
}//fori //<动态分割线尝试>
System.out.print("# ---- --- --- ---- --- -");
for (int strxs = 1; strxs < yangHui_largeGet; strxs++) {
System.out.print("- ---- -- - ---- -");
}//for_strxssssssss
System.out.print("\n");
//</动态分割线尝试> //System.out.println("# ---- -"+"-- --- -"+"--- --- "+"--- ----"+" -" + " ---- "+"--- --- "+"---- ---"+" --- ---"+"- -"); System.out.println("\n>> === ===program_OFF === ===>>");
}//main
}//pubclass
输出三角形的上下分割线可动态变化。。。
【练习】Java实现的杨辉三角形控制台输出的更多相关文章
- java项目中eclipse控制台输出log4j的信息
最近做的一个hadoop项目中,用MR实现了一个比较复杂的问题,其中的日志信息都是使用的是log4j来处理的.但不知怎么控制台不输出日志信息,只能输出System.out.println()信息,这个 ...
- Java代码工具箱之控制台输出重定向_控制台输出到文件
1. 情形:有时候控制台输出太多,在MyEclipse显示不全. 2. 说明:本代码只会重定向 system.out 的内容, error及其它不受代码影响.其它应该类似. //自定导入必要库 //然 ...
- Java多线程Socket在控制台输出的多人聊天室编程
服务器端代码 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java ...
- Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出
1. TCP之客户端读取文本文件服务器控制台输出 (1)客户端:(发送数据到服务端) package cn.itcast_10; import java.io.BufferedReader; impo ...
- Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值
1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: • 创建键盘录入数据对象 • 键盘录入多个数据,我们不知道多少个,所以用集合存储 • 以0结束,这个简单,只要键盘 ...
- Java初学者作业——编写JAVA程序,在控制台输入一位学生的英语考试成绩,根据评测规则,输出对应的成绩等级。定义方法实现学生成绩的评测功能。
返回本章节 返回作业目录 需求说明: 编写JAVA程序,在控制台输入一位学生的英语考试成绩,根据评测规则,输出对应的成绩等级.要求:定义方法实现学生成绩的评测功能. 学生的英语考试成绩进行评测,评测规 ...
- java读取文件内容并输出到控制台,java中实现文件复制
public class TestFileInputStream { public static void main(String [] args) { //读取指定文件中内容,并在控制台输出 Fil ...
- Java如何利用for循环在控制台输出正方形对角线图形
1 /* 2 利用循环在控制台输出如下正方形对角线图形 3 * * * * * * * * * * * 4 * * * * 5 * * * * 6 * * * * 7 * * * * 8 * * * ...
- Java:Java控制台输出保存进文件
前言 实现在控制台输出.并且把输出保存进文件 实现 您要在两个流中写入数据,请尝试使用OutputStream中的TeeOutputStream对象. 一.在maven的pom文件中引入jar包. & ...
随机推荐
- codeforces 873E(枚举+rmq)
题意 有n(n<=3000)个人参与acm比赛,每个人都有一个解题数,现在要决定拿金牌的人数cnt1,拿银牌的人数cnt2,拿铜牌的人数cnt3,各自对应一个解题数区间[d1,c1],[d2,c ...
- 2017CodeM复赛
A.配对游戏(loj6191) 题目: https://loj.ac/problem/6191 分析: g[i][j]表示前i个位置尽可能合并,合并到最后右边剩下j个>,这样情况的概率 那么g[ ...
- Spring Cloud(9):Config配置中心
Config配置中心作用简单来讲:统一配置,方便管理 开源配置中心: 1.百度Disconf 2.阿里Diamand 3.Spring Cloud Config 搭建Config-Server 快速上 ...
- sql 2005 安装
http://blog.csdn.net/wochuailimin/article/details/6120462 http://www.cnblogs.com/huangcong/archive/2 ...
- 关于oracle存储过程的若干问题备忘
1.在oracle中,数据表别名不能加as,如: select a.appname from appinfo a;-- 正确select a.appname from appinfo as a;-- ...
- Zookeeper中的FastLeaderElection选举算法简述
Zookeeper是一个开源的分布式应用协调项目, 当中为了保证各节点的协同工作,Zookeeper在工作时须要有一个Leader. 而Leader是怎样被选举出来的?Zookeep中使用的缺省算法称 ...
- js 终止执行的实现方法
终止JS运行有如下几种可能: 1.终止函数的运行的方式有两种 (1)在函数中使用return,则当遇到return时,函数终止执行,控制权继续向下运行 (2)在函数中使用try-catch异常处理,需 ...
- SonarQube---在具体项目中的使用
一.简介 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. Sonar官网,文档 Sonar Scann ...
- [Android]自己定义带删除输入框
在项目开发中,带删除button输入框也是人们经常常使用到的,该文章便介绍一下怎样创建一个带删除输入框.当中,须要解决的问题例如以下: a)创建自己定义editText类 b)在自己定义editTex ...
- Android实战简易教程-第四十枪(窃听风云之短信监听)
近期在做监听验证码短信自己主动填入的功能,无意间想到了一个短信监听的办法. 免责声明:短信监听本身是一种违法行为,这里仅仅是技术描写叙述.请大家学习技术就可以.(哈哈) 本实例是基于bmob提供的后台 ...