java语言打印出菱形_java怎么打印菱形

2022-11-10 13:53:36 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

Java典型例题(打印菱形)

题目:利用*号打印出一个菱形图样

分析:下面逐步分析菱形打印的推演过程

推演过程利用单独的方法演示,使用时直接在主方法中调用对应的方法即可。

第一步,打印一行*号

代码语言:javascript复制
/** 打印出如下图形: ******* */
public static void print01() { 
   
    //每次打印一个星星
    for(int i = 1;i<=7;i  ) { 
   
        System.out.print("*");
    }
    System.out.println();
}

第二步,打印出一个矩形

代码语言:javascript复制
/** 打印出矩形: ******* ******* ******* ******* */	
public static void print02() { 
   
    System.out.println("循环每次打印一个星星");
    for(int i = 1;i<=4;i  ) { 
   //行数
        for(int j = 1;j<=7;j  ) { 
   //星星个数
            System.out.print("*");
        }
        System.out.println();
    }	
}

第三步,打印出一个三角型

代码语言:javascript复制
/** 打印出如下图形 * *** ***** ******* 规律如下: 行数 *号个数 1 1 2 3 3 5 4 7 n 2*n-1 */
public static void print03() { 
   
    for(int i = 1;i<=4;i  ) { 
   //控制行数
        for(int j = 1;j<=2*i-1;j  ) { 
   //控制星星个数的时候和行有关
            System.out.print("*");
        }
        System.out.println();
    }
}

第四步,打印出一个正三角型

代码语言:javascript复制
/** 打印如下图型: * *** ***** ******* 规律如下: 行数 1 2 3 4 n 空格 3 2 1 0 总行数-n 星星 1 3 5 7 2*n-1 */
public static void print04() { 

for(int i = 1;i<=4;i  ) { 
//控制行数
for(int k = 1;k<=4-i;k  ) { 
//空格的个数
System.out.print(" ");
}
for(int j = 1;j<=2*i-1;j  ) { 
//控制星星个数的时候和行有关
System.out.print("*");
}
System.out.println();
}
}

第五步,打印出一个菱形

代码语言:javascript复制
/** * * * * * *** * ***** * ******* * 行数 1 2 3 4 n * 空格 3 2 1 0 总行数-n * 星星 1 3 5 7 2*n-1 * * * ***** * *** * * * 行数 3 2 1 n * 空格 1 2 3 总行数-n * 星星 5 3 1 2*n-1 * * * * */
public static void print05() { 

for(int i = 1;i<=4;i  ) { 
//控制行数
for(int k = 1;k<=4-i;k  ) { 
//空格的个数
System.out.print(" ");
}
for(int j = 1;j<=2*i-1;j  ) { 
//控制星星个数的时候和行有关
System.out.print("*");
}
System.out.println();
}
for(int i = 3;i>=1;i--) { 
//控制行数
for(int k = 1;k<=4-i;k  ) { 
//空格的个数
System.out.print(" ");
}
for(int j = 1;j<=2*i-1;j  ) { 
//控制星星个数的时候和行有关
System.out.print("*");
}
System.out.println();
}
}

打印结果如图所示:

思考:如何打印出一个中间部分是一个空心的菱形

代码语言:javascript复制
public static void print06() { 

for(int i = 1;i<=4;i  ) { 
//控制行数
for(int k = 1;k<=4-i;k  ) { 
//空格的个数
System.out.print(" ");
}
for(int j = 1;j<=2*i-1;j  ) { 
//控制星星个数的时候和行有关
if(j==1||j==2*i-1) { 

System.out.print("*");
}else { 

System.out.print(" ");
}
}
System.out.println();
}
for(int i = 3;i>=1;i--) { 
//控制行数
for(int k = 1;k<=4-i;k  ) { 
//空格的个数
System.out.print(" ");
}
for(int j = 1;j<=2*i-1;j  ) { 
//控制星星个数的时候和行有关
if(j==1||j==2*i-1) { 

System.out.print("*");
}else { 

System.out.print(" ");
}
}
System.out.println();
}	
}

打印结果如图所示:

菱形代码优化

以上实现打印菱形的代码比较复杂,我们可以对代码进行优化

代码语言:javascript复制
/* 菱形代码优化 */
public static void print07() { 

for(int x = -5;x<=5;x  ) { 

for(int y = -5;y<=5;y  ) { 

if((x>0?x:-x) (y>0?y:-y)<=5) { 

System.out.print("*");
}else { 

System.out.print(" ");
}
}
System.out.println();
}

输出结果如图所示:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞