概述
一开始我们学习Java、C、python等语言的时候,都是从基本语法开始的,一些基本的循环语句,实现一些简单的小的练习需求。
比如打印等腰三角形。打印一个如下形式的等腰三角形:
/*
*
***
*****
*******
*/
那我们初学者可能一开始就会想到的是最简单粗暴地一个算法,我直接System.out.print(),一行行的给打印出来,例如
System.out.print(" * ");
System.out.println();
System.out.print(" *** ");
System.out.println();
System.out.print(" ***** ");
System.out.println();
System.out.print("*******");
在只有几行代码的情况下也是可以的,但是如果上百行上千行,只能跪了。。。所以我写出来这个的时候,也是不好意思的脸红了下。然后,我就又开始想,怎么样才可以利用for循环把前面的空格给打印出来,而后面打印出来小星星。我在想那就一行行的打印,但是利用for循环,这样可以简单一点点,利用for循环把空格打印,然后再for出来每行的小星星。
for (int i=0 ;i<3;i++ ) {
System.out.print(" ");
}
for (int p=1; p<=1;p++ ) {
System.out.print("*");
}
for (int i=0 ;i<3;i++ ) {
System.out.print(" ");
}
System.out.println();
for (int i=0 ;i<2;i++ ) {
System.out.print(" ");
}
for (int x=1; x<=3;x++ ) {
System.out.print("*");
}
for (int i=0 ;i<2;i++ ) {
System.out.print(" ");
}
System.out.println();
System.out.print(" ");
for (int z=1; z<=5;z++ ) {
System.out.print("*");
}
System.out.print(" ");
System.out.println();
for (int y=1;y<=7 ;y++ ) {
System.out.print("*");
}
这样也成功的打印出来,可是还是觉得很别扭,哇。。很难受=.=!
接着思考,有没有办法把行行用一个for循环来打印小星星,我就看小星星,1,3,5,7。。。这不是等差数列嘛!!!
简直想撞墙!直接用公式就行了啊。
for(int x=1;x<=4;x++)//外循环控制行数,总共四行
{
for (int y=1;y<=4-x ;y++ ) {//打印小星星前面的空格
System.out.print(" ");
}
for (int z=1;z<=2*x-1 ; z++) {
System.out.print("*");
}/*等差数列公式 an=a1+(n-1)*d */
for (int y=1;y<=4-x ;y++ ) {//打印小星星后面的空格
System.out.print(" ");
}
System.out.println();
}
终于舒服了,得到了一个自己想要的代码。。。。这是成等差数列排序这样的等腰三角形。
最后
以上就是感性宝贝为你收集整理的Java小结(一)——打印等腰三角形的全部内容,希望文章能够帮你解决Java小结(一)——打印等腰三角形所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复