java算法之打印杨辉三角
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java算法之打印杨辉三角相关的知识,希望对你有一定的参考价值。
效果图如下:
首先我们看图片上下是对称的,我们先来打印上半部分,
1.用一个for循环来做外层循环控制打印的列数
for(int i =0;i<10;i++){//打印10列
}
2.同样用2个for循环来打印内层的空格和*
for(int j = 0;j<10-j;j++){//打印空格,不换行
System.out.print(" ")
}
当打印了空格不换行,再打印*就只能往后面放
for(int k = 0;k<2*i;k++){//打印“*”
System.out.print("*")
}
完整代码如下:
for(int i=1;i<10;i++) {
for(int j = 1 ;j<10-i;j++) {//打印空格
System.out.print(" ");
}
for(int k = 1;k<2*i;k++) {//打印“*”
System.out.print("*");
}
System.out.println();//打印一行后换行
}
这段代码打印后效果图如下:
3.接下来写下半角,思路和上半角一样,只是循环的条件变了而已
直接上代码:
for(int i=1;i<10;i++) {
for(int k = 0;k<i;k++) {
System.out.print(" ");
}
for(int j = 1;j<18-2*i;j++) {
System.out.print("*");
}
System.out.println();
}
上图:
ok,现在只要将代码拼接就可以了。
完整代码如下:
public class PascalTriangle {
public static void main(String[] args) {
for(int i=1;i<10;i++) {
for(int j = 1 ;j<10-i;j++) {
System.out.print(" ");
}
for(int k = 1;k<2*i;k++) {
System.out.print("*");
}
System.out.println();
}
for(int i=1;i<10;i++) {
for(int k = 0;k<i;k++) {
System.out.print(" ");
}
for(int j = 1;j<18-2*i;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
这个题目思路主要就是利用循环分别打印空格和*,然后用条件来限制个数。
以上是关于java算法之打印杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情