Java语言打印空心菱形
2021/9/22 12:39:59
本文主要是介绍Java语言打印空心菱形,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
打印空心菱形如果一开始觉得比较困难的话,那么不妨分成几个步骤走完成菱形的打印。
1.先打印一个直角三角形(都是由星星组成的)
代码如下:
import java.util.Scanner;//导入Scanner类所在的包 public class RightTriangle{ public static void main(String[] args){ Scanner myScanner = new Scanner(System.in);//创建一个新的Scanner类用来接受总层数totalLevel System.out.println("请输入总层数totalLevel:"); int totalLevel = myScanner.nextInt(); for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的总层数 for (int j = 1 ; j <= 2 * i -1 ; j ++) {//每一层要打印的星星的个数(2*N-1) System.out.print("*"); } System.out.println(); } } }
编译运行,在DOS窗口下输入5,结果如下图所
2.先打印一个实心的三角形(就是空格和星星的组成)
代码如下:
import java.util.Scanner; public class SolidTriangle{ public static void main(String[] args){ Scanner myScanner = new Scanner(System.in);//创建一个新的Scanner类用来接受总层数totalLevel System.out.println("请输入总层数totalLevel:"); int totalLevel = myScanner.nextInt(); for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的总层数 for (int j = 1 ; j <= totalLevel - i ; j++ ) {//每一层要打印的空格数 System.out.print(" "); } for (int k = 1 ; k <= 2 * i -1 ; k ++) {//每一层要打印的星星的个数(2*N-1) System.out.print("*"); } System.out.println(); } } }
编译运行,在DOS窗口下输入5,结果如下图所示:
3.先打印一个空心的三角形
代码如下:
import java.util.Scanner; public class HollowTriangle{ public static void main(String[] args){ Scanner myScanner = new Scanner(System.in); System.out.print("请输入总层数:"); int totalLevel = myScanner.nextInt(); for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的层数 if (i == totalLevel) { for (int m = 1 ; m <= 2 * i - 1 ; m++ ) { System.out.print("*"); } }else{ for (int j = 1 ; j <= totalLevel - i ; j++ ) {//每层要打印的第一批空格数 System.out.print(" "); } System.out.print("*"); for (int k = 1 ; k <= 2 * i - 3 ; k++ ) {//每层要打印的第二批的空格数 System.out.print(" "); } if (i != 1) { System.out.print("*"); } System.out.println(); } } } }
编译运行,在DOS窗口下输入5,结果如下图所示:
4.先打印一个空心的菱形(由两个空心的三角形组成,因为菱形是对称的所以下面的那一部分的空心三角形要比上一部分的空心三角形的总层数减少一个,这个方能构成一个菱形。)
代码如下:
import java.util.Scanner; public class HollowDiamond{ public static void main(String[] args){ Scanner myScanner = new Scanner(System.in); System.out.print("请输入上层总层数:"); int totalLevel = myScanner.nextInt(); //打印菱形的上半部分 for (int i = 1 ; i <= totalLevel ; i++ ) {//上层所需要打印的总层数 for (int j = 1; j <= totalLevel - i ; j++) {//每层要打印的空格数(就是总层数减去所在的层数) System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++ ) {//每一行要输入的星星的数量(所打印的星星的总数是2*N-1) if (k == 1 || k == 2*i - 1 ) {//第一个和最后一个打印星星,其余打印空格 System.out.print("*"); }else{ System.out.print(" "); } } System.out.println();//每一行结束后就进行换行的操作. } //打印菱形的下半部分 for (int m = 1 ; m <= totalLevel -1 ; m++) {//因为菱形是对称的所以下面的总层数是上层总层数减去一才能构成菱形 for (int n = 1; n <= m ; n ++ ) { System.out.print(" "); } for (int p = 1; p <= 2 * (totalLevel - m) -1 ; p++) {//每一行要输入的星星的数量 if (p == 1 || p == 2 * (totalLevel - m) - 1) {//totalLevel- m就是方便的转换,比如说上层一共有五层,那么第六行和第四行的情况一样 System.out.print( "*"); }else{ System.out.print(" "); } } System.out.println();//每一行结束后就进行换行的操作. } } }
编译运行,在DOS窗口下输入5,结果如下图所示:
这篇关于Java语言打印空心菱形的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide