每日一题---用‘*‘打印出边长为n的空心六边形
2023-03-14 22:40:17 时间
用’*'打印出边长为n的空心六边形
/** *打印六边形要分上下两个部分分别进行 *多用循环和判断语句 *并要整清楚每个循环和判断是干什么的 *我将对上部的循环和判断的作用进行分析,下部与其类似 **/ import java.util.Scanner; public class Test06 { public static void main(String[] args) { System.out.println("请定义六边形的边长:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=0;i<n;i++) { for(int j=0;j<n-i;j++) { System.out.print(" "); } //既然要打印图形,则需要在每一行多余的地方用空格填补 for(int l=0;l<2*n+2*i;l++) { if(i==0) { if(l<n+2*i) { System.out.print("* "); } } else { if(l==0) { System.out.print("*"); } else if(l>0&&l<(2*n+2*i-2)){ System.out.print(" "); } else if(l==(2*n+2*i-2)) { System.out.print("*"); } //这个语句块是为了将'*'按照一定规律打印出来 } } System.out.println(); } //上半部分结束 for(int i=n-2;i>=0;i--) { //因为上半部分已经把上下部分中间共用的行中的'*'打印出来了,所以这里的for循环只循环了n-1次 for(int j=0;j<n-i;j++) { System.out.print(" "); } for(int l=0;l<2*n+2*i;l++) { if(i==0) { if(l<n+2*i) { System.out.print("* "); } } else { if(l==0) { System.out.print("*"); } else if(l>0&&l<2*n+2*i-2){ System.out.print(" "); } if(l==2*n+2*i-2) { System.out.print("*"); } } } System.out.println(); } } }
运行结果为:
相关文章
- ONLYOFFICE 桌面编辑器 v7.3 新特性:表单的角色、增强密码保护、电子表格的查看窗口、全新打印预览选项等功能
- React 实现一个markdown[2]
- 来来来,给您送?了
- React markdown发布文章后展示[1]
- [oeasy]python0072_修改字体前景颜色_foreground_color_font
- React markdown发布文章后展示[2]
- 项目统一日志设计
- PHP 面向对象类的继承
- PHP 子类重写父类成员详解 overwrite
- TP6.0 调试模式下关闭 Trace 窗口
- PHP三元运算符
- 助力工业物联网,工业大数据项目之数据采集
- Taro v3.6 代号为「Reach」,已发布 canary 版本
- top命令常见的简单用法
- 如何去除水印?这三种方法无痕去除!
- HackaSat2020预选赛beckley
- 重磅!大象机器人发布第二代人工智能套装,深度学习协作机器人、先进机器视觉与应用场景,人工智能实验室与职业教育必备
- 飞盘涂鸦DIY | 让快乐“飞”起来
- 多视图机器学习的宏观发展趋势
- note