Java 写三角形 空心三角形 菱形 空心菱形
闲来无事,练习了一下Java基础中的循环语句。练习循环语句,当然少不了,用*打印出来三角形、空心三角形、菱形等这样的几何图形。
粗心大意,失误两次:
一、三角形
遇到一些小问题:
二、金字塔
由于三角形和金字塔的代码差不多,只有少部分更改,图也可以看的很清楚。所以下面只写一部分代码好啦。
代码实例:
//作者:我 //功能:镂空金字塔 //时间:2018年1月10日 public class Hello{ public static void main(String args[]){ //死去活来法 //int lay=4; int lay=7; for (int i=1;i<=lay;i++ ) { //找出空格规律 //1->3 2->2 3->1 4->0 for(int k=1;k<=lay-i;k++) { System.out.print(" "); } //打印* /*不正确的 for(int j=1;j<=i;j++){ System.out.print("*"); }*/ //打印*的规律 //1->1 2->3 3->5 .... for(int j=1;j<=i*2-1;j++){ if(i==1||i==lay){ //i代表层 System.out.print("*"); }else{ //如果是第一个* if(j==1||j==i*2-1){ System.out.print("*"); }else{ System.out.print(" "); } } } //打印换行 System.out.println(); } } }
三、菱形
菱形的代码是我在网上找的,看懂了逻辑。自己也玩了一下了,在hangshu取值为双数时,实心菱形一点bug。
代码实例:
//网上查找的代码 public class Hello3{ public static void main(String args[]){ int hangshu = 20; int yiban = hangshu / 2 + 1; int yibanduo = hangshu / 2; 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(); } } 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(); } } }
个人学习笔记,针对本人在自学中遇到的问题。
标签:
Java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程