Java打印菱形(空格菱形)(星星之间有空格)
打印如下图形:
*
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * *
* * * *
* *
*就是下图这种: 每一个和每一个星星之间有一个空格的,输入偶数层的话再次进行输入
可以输入层数,因为图案只有奇数次的层,所以只能输入奇数的层数
有更好的方法或者更简单的方法,可以评论下
代码如下:
import java.util.Scanner; /*打印如下图案:** ** * * ** ** */ public class Star {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {System.out.print("请输入奇数层数:");// 要打印的层数int layer_num = scanner.nextInt();// 星星最多的一层的那一层的层数int star_most_layer_num = (layer_num / 2) + 1;// 星星最多的一层下面还剩下多少层int layer_surplus = layer_num / 2;//第一层空格数int first_em = layer_num-2;//第二层的空格数int secord_em = layer_num-3;// 星星最多的一层的星星个数int star_most_count = layer_num - 1;// 从第二层开始星星的个数int star_start_num = 2;// 从最多的一层开始倒数的层数的空格数int invert_em = 2;// 从最多的一层开始倒数的层数的星星数int invert_star_num = layer_num-3;if(layer_num%2!=0) {// 先打印包括星星最多的一行的前几行for(int i=1;i<=star_most_layer_num;i++) {if(i==1) {for(int j=1;j<=first_em;j++) {System.out.print(" ");}System.out.println("*");}else if ((i>1 && i<star_most_layer_num)) {for(int k=1;k<=secord_em;k++) {System.out.print(" ");}for(int m=1;m<=star_start_num;m++) {System.out.print("*");System.out.print(" ");}star_start_num = star_start_num + 2;secord_em = secord_em - 2;System.out.println();}else if (i==star_most_layer_num){for(int j=1;j<=star_most_count;j++) {System.out.print("*");System.out.print(" ");}System.out.println();}}for(int i=1;i<=layer_surplus;i++) {if(i!=layer_surplus) {for(int m=1;m<=invert_em;m++) {System.out.print(" ");}invert_em = invert_em + 2;for(int k=1;k<=invert_star_num;k++) {System.out.print("*");System.out.print(" ");}invert_star_num = invert_star_num - 2;System.out.println();}else {for(int j=1;j<=first_em;j++) {System.out.print(" ");}System.out.println("*");}}break;}}} }
运行截图:
Java打印菱形(空格菱形)(星星之间有空格)相关推荐
- java打印三角形,菱形。任意边长大小
一.等腰三角形 for (int j = 0; j < num; j++) { if (j > 0) { for (int i = ...
- java打印直角三角形--等腰三角形--菱形
import java.util.Random; import java.util.Scanner; public class Day3 { public static void main(Strin ...
- python中空格怎么打_python输入空格_python以空格为分隔输入_python如何让用户输入空格 - 云+社区 - 腾讯云...
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 流式语音合成 python3 sdk 下载地址.python2 sdk 下载地址 ...
- 利用Java打印空心菱形
利用Java打印空心菱形 public class Lx {public static void main(String[] args) { //打出空心菱形for (int i = 1; i < ...
- JS打印各种形状:星星金字塔_完整菱形_三角形_思路算法详解_附源代码
Javascript打印金字塔,倒立金字塔, 空心金字塔,菱形,空心菱形等 打印直角三角形 * 1** 2*** 3**** 4通过图形,可以得出规律,第i行时,打印的星星为i个 document.w ...
- java演练 循环嵌套 菱形图案的打印 四个阶段完成输出
java演练 循环嵌套 菱形图案的打印 阶段一,视频 https://www.ixigua.com/6870331861256634894/ 阶段一,数据分析 阶段二,视频 http://mp.tou ...
- java打印菱形图案_java打印出菱形图案实例详解
第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...
- Java打印菱形与空心菱形
打印菱形尤其是空心菱形对于初学者来说有一定难度,熟练掌握了for循环后,还是可以打印出来的 分析:1.先打印上半部分,再打印下半部分 2.找准空格与星号之间的关系,然后再打印 3.上半部分每一行数目分 ...
- 经典题:用Java打印空心菱形
经典题:用Java打印空心菱形 本题是在打印空心金字塔的基础上进行的,不会的点击下面的链接: 经典题:用Java打印空心金字塔 (1)打印无底空心金字塔 输出如下: 开始运行... 请输入层数 6** ...
最新文章
- Unity Pro builder创建模块化仓库建筑学习教程
- 报名 | 数据新闻发展趋势与人才培养学术讲座(武汉)
- IDEA坑爹跟新的小BUG解决之道
- php 简单路由实现
- OpenMP入门教程(二)reduce sum
- 大数据风控之信贷审查的5大步骤及要点
- C++primer习题--第3章
- 因政府禁令 微软 Windows 9 将作出重大调整
- SqlLite在Net中的使用
- Java中子程序输出到输出文件中_Fortran 90中子例程和函数中的参数/变量的INTENT的含义...
- 程序员英文简历范例(前端)
- 土地利用转移矩阵制作
- kali安装百度网盘客户端
- WiFi钥匙管家-免费上网神器
- 使用Mac自带的局域网远程控制其他Mac
- 新版阿里云官网Maven中央仓库地址
- 12【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例 - 供应链
- 金融直播的引流小技巧
- 学习Python中turtle模块的基本用法(4:绘制科赫曲线和谢尔宾斯基三角形)
- Android终端Termux安装Scrapy
热门文章
- Spring-AOP底层实现
- 使用spring boot+shiro+jwt+mybatis-plus搭建项目框架
- JAVA判断输入的是数字、字符还是汉字
- JAVA——文件操作工具类封装的简单实现
- JAVA——操场跑步路径定位模拟解决方案
- Spring Security——org.springframework.security.oauth:spring-security-oauth2项目已过时解决方案
- EasyUEFI——简介、下载和安装
- IDM——服务器响应显示您没有权限下载此文件(百度网盘下载问题)
- 2019牛客暑期多校训练营(第五场)
- 集训队脱单大法:这是一道只能由学姐我自己出数据的水题