JAVA中怎么用for循环打印空心菱形
这篇“JAVA中怎么用for循环打印空心菱形”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JAVA中怎么用for循环打印空心菱形”文章吧。
空心菱形如图所示
那么我们应该如何去写出来呢?这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢?废话不多说了,上思路:(仅代表个人理解,欢迎指点)
1.首先我们要写出一个空心菱形,那么我们首先得把需求由繁化简,把他拆分成一个一个简单的需求,
1.1那我们就先写半个金字塔,
是不是很眼熟的结构,没错和九九乘法表类似的结构,上代码
for(inti=1;i<=5;i++){//i代表层数,这个可以设置一个变量接收,随便几层都行,不一定非要是5for(intj=1;j<=i;j++){//j代表个数System.out.print("*");}System.out.print("\n");//System.out.println("");这样也行}
半个金字塔出来了,那我们接下来就写一个完整的空心金字塔
//输出一个空心金字塔//思路分析://1.补全金字塔//*//空格数为总层数-1//个数为13579什么规律呢就是2*当前层数-1//***//空格数为总层数-1//*****//*******//*********//2.将金字塔镂空//*第一层1个//**第二次2个//**第三层2个//....第n层2个//*********最后一层全部有//大致就是这个图形,(图形不准确,请自行脑补)for(inti=1;i<=5;i++){//i是层数//打印出每层前面的空格数for(intk=1;k<=5-i;k++){System.out.print("");}//控制每层打印的个数for(intj=1;j<=2*i-1;j++){//j是个数//空心金字塔都是第一个和最后一个位置有*,最后一层则是全部输出if(j==1||j==2*i-1||i==5){System.out.print("*");}else{System.out.print("");}}System.out.print("\n");}
那么菱形就已经很简单了 我们只需要把空心金字塔最后一层的全部输出去掉 也就是 i == 5注销,就得到这么一个东西
菱形的工作已经完成了大半,接下来照猫画虎把下半部分写出来就可以了
for(inta=4;a>0;a--){//打印空格for(intc=1;c<=5-a;c++){System.out.print("");}for(intb=1;b<=2*a-1;b++){if(b==1||b==2*a-1){System.out.print("*");}else{System.out.print("");}}System.out.print("\n");}
虽然菱形的下半部分是一个倒过来的金字塔, 但是其规律并没有发生变化,空格数依旧是总层数 - 1
个数也没有发生变化,就是顺序倒过来,把++改成--就好了
完整的代码:
for(inti=1;i<=5;i++){//控制前面的空格数for(intk=1;k<=5-i;k++){System.out.print("");}//控制每行输出的*的个数for(intj=1;j<=2*i-1;j++){//每行第一个和最后一个位置有*,最后一行全有if(j==1||j==2*i-1){System.out.print("*");}else{System.out.print("");}}System.out.print("\n");}for(inta=4;a>0;a--){//打印空格for(intc=1;c<=5-a;c++){System.out.print("");}for(intb=1;b<=2*a-1;b++){if(b==1||b==2*a-1){System.out.print("*");}else{System.out.print("");}}System.out.print("\n");}
以上就是关于“JAVA中怎么用for循环打印空心菱形”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恰卡编程网行业资讯频道。