java镂空菱形代码,java编写菱形以及空心菱形

java空心菱形算法

这样的代码光是看是很难看明白的,自己举个例子简单地在纸上写一写画一画,就比较容易明白了。

成都创新互联公司专业为企业提供攀枝花网站建设、攀枝花做网站、攀枝花网站设计、攀枝花网站制作等企业网站建设、网页设计与制作、攀枝花企业网站模板建站服务,10多年攀枝花做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

假定size=5,可以想像一下菱形的形状,size/2+1=3,按以上代码的逻辑来看,就是先处理上面的3行,然后处理下面剩下的2行。

处理上面3行的时候,每一行需要根据行数分别输出*和空格。先看第1行,i==0.

for (int i = 0; i size / 2 + 1; i++) {

for (int j = size / 2 + 1; j i + 1; j--) {

System.out.print(" ");// 输出左上角位置空白

}

这段代码此时的i==1,内层循环走完以后,会输出2次空格(j==3,j==2时),

然后依次往下走。

不得不说,上面的代码写的太复杂了,这么多for循环,看着好费劲的说~~

如何用Java通过#号打出囧字、菱形和空心菱形?

显示效果是这样的:

代码如下:

int hangshu = 11;

int yiban = hangshu / 2 + 1;

int yibanduo = hangshu / 2;

System.out.println("空心菱形:");

for(int k = 1;k = yiban;k++){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");    

}

System.out.println();

}

for(int k = yibanduo;k =1;k--){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");    

}

System.out.println();

}

System.out.println("实心菱形:");

for(int i = 1;i = hangshu;i++){

if(i = hangshu/2 + 1){

for(int k = 1;k = hangshu/2 + 1- i;k++){

System.out.print(" ");

}

for(int k = 1;k = i;k++){

System.out.print("* ");

}

System.out.println();

}else{

for(int k =1;k = (i -(hangshu/2 + 1));k++){

System.out.print(" ");

}

for(int k = 1;k = (2 *(hangshu/2 + 1) - i);k++){

System.out.print("* ");

}

System.out.println();

}    

}

囧字再看看

java 怎样写出一个菱形程序?空心和实心

java打印菱形通过二维数组来打印,实例如下:

int hangshu = 11;

int yiban = hangshu / 2 + 1;

int yibanduo = hangshu / 2;

System.out.println("空心菱形:");

for(int k = 1;k = yiban;k++){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");

}

System.out.println();

}

for(int k = yibanduo;k =1;k--){

for(int i = 1;i = (yiban - k);i++){

System.out.print(" ");

}

System.out.print("*");

for(int i = 1;i = ( (k - 2) * 2 + 1);i++){

System.out.print(" ");

}

if(k != 1){

System.out.print("*");

}

System.out.println();

}

System.out.println("实心菱形:");

for(int i = 1;i = hangshu;i++){

if(i = hangshu/2 + 1){

for(int k = 1;k = hangshu/2 + 1- i;k++){

System.out.print(" ");

}

for(int k = 1;k = i;k++){

System.out.print("* ");

}

System.out.println();

}else{

for(int k =1;k = (i -(hangshu/2 + 1));k++){

System.out.print(" ");

}

for(int k = 1;k = (2 *(hangshu/2 + 1) - i);k++){

System.out.print("* ");

}

System.out.println();

}

}

结果如下:


网站标题:java镂空菱形代码,java编写菱形以及空心菱形
本文路径:http://azwzsj.com/article/hcigsg.html