当前位置: 首页 > news >正文

Java基础 - 练习(三)打印空心菱形

Java基础练习

打印空心菱形,先上代码:

public static void diamond() {//控制行数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();}
}

思路:

  1. 打印菱形可以将菱形看作两个等腰三角形,第一个正着放,第二个倒着放,两个等腰三角形共用同一条底边
  2. 先打印第一个正着放的等腰三角形,设置4行,使用for循环嵌套
  3. 再打印倒着放的等腰三角形,因为底边共用,所以此处打印时比正放的时候少一行,打印3行
效果图

在这里插入图片描述

------------------------------------------------分割线------------------------------------------------

// 简便
public static void diamond2() {for (int i = -4; i <= 4; i++) {//打印空格for (int j = 1; j <= Math.abs(i); j++) {System.out.print(" ");}//打印具体的*号for (int j = 1; j <= 8 - (Math.abs(i) * 2 - 1); j++) {if (j == 1 || j == 8 - (Math.abs(i) * 2 - 1)) {System.out.print("*");} else {System.out.print(" ");}}System.out.println();}
}

效果图

在这里插入图片描述
思路类似,增加中间空白等腰三角形逻辑即可

相关文章:

  • 超详细的selenium使用指南
  • 驾校在线考试系统源码 手机+PC+平板自适应
  • 了解指标体系1:指标是大数据开发中的关键要素
  • linux系统中,pwd获取当前路径,dirname获取上一层路径;不使用 ../获取上一层路径
  • 连接Huggingface报requests.exceptions.SSLError错误
  • 数据库-连接查询-连接查询
  • 【Java】图的初识
  • MYSQL in和exists
  • Spark日志有哪些?
  • 【接口自动化测试】第二节.Requests库和接口对象封装
  • 异构集成封装类型2D、2.1D、2.3D、2.5D和3D封装技术
  • 注意力机制新突破!21种创新融合思路汇总!让技术持续飞跃!
  • C# —— while循环语句
  • C++ day5
  • Perl语言快速入门学习
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • ESLint简单操作
  • Gradle 5.0 正式版发布
  • input的行数自动增减
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Linux CTF 逆向入门
  • Mithril.js 入门介绍
  • mysql外键的使用
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • STAR法则
  • tab.js分享及浏览器兼容性问题汇总
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 复杂数据处理
  • 回顾 Swift 多平台移植进度 #2
  • 马上搞懂 GeoJSON
  • -- 数据结构 顺序表 --Java
  • 算法-图和图算法
  • 小程序button引导用户授权
  • 原生js练习题---第五课
  • 自动记录MySQL慢查询快照脚本
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​iOS实时查看App运行日志
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • $.ajax()
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)计算机毕业设计ssm电影分享网站
  • (理论篇)httpmoudle和httphandler一览
  • (十二)Flink Table API
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)OpenStack Hacker养成指南
  • ******之网络***——物理***
  • **CentOS7安装Maven**
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core 版本不支持的问题
  • .Net Core中Quartz的使用方法