打印如下图形:

*
      * * 
    * * * * 
  * * * * * * 
* * * * * * * * 
  * * * * * * 
    * * * * 
      * * 
       *

就是下图这种:    每一个和每一个星星之间有一个空格的,输入偶数层的话再次进行输入

可以输入层数,因为图案只有奇数次的层,所以只能输入奇数的层数

有更好的方法或者更简单的方法,可以评论下

代码如下:

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打印菱形(空格菱形)(星星之间有空格)相关推荐

  1. java打印三角形,菱形。任意边长大小

    一.等腰三角形 for (int j = 0; j < num; j++) {             if (j > 0) {                 for (int i = ...

  2. java打印直角三角形--等腰三角形--菱形

    import java.util.Random; import java.util.Scanner; public class Day3 { public static void main(Strin ...

  3. python中空格怎么打_python输入空格_python以空格为分隔输入_python如何让用户输入空格 - 云+社区 - 腾讯云...

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 流式语音合成 python3 sdk 下载地址.python2 sdk 下载地址 ...

  4. 利用Java打印空心菱形

    利用Java打印空心菱形 public class Lx {public static void main(String[] args) { //打出空心菱形for (int i = 1; i < ...

  5. JS打印各种形状:星星金字塔_完整菱形_三角形_思路算法详解_附源代码

    Javascript打印金字塔,倒立金字塔, 空心金字塔,菱形,空心菱形等 打印直角三角形 * 1** 2*** 3**** 4通过图形,可以得出规律,第i行时,打印的星星为i个 document.w ...

  6. java演练 循环嵌套 菱形图案的打印 四个阶段完成输出

    java演练 循环嵌套 菱形图案的打印 阶段一,视频 https://www.ixigua.com/6870331861256634894/ 阶段一,数据分析 阶段二,视频 http://mp.tou ...

  7. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  8. Java打印菱形与空心菱形

    打印菱形尤其是空心菱形对于初学者来说有一定难度,熟练掌握了for循环后,还是可以打印出来的 分析:1.先打印上半部分,再打印下半部分 2.找准空格与星号之间的关系,然后再打印 3.上半部分每一行数目分 ...

  9. 经典题:用Java打印空心菱形

    经典题:用Java打印空心菱形 本题是在打印空心金字塔的基础上进行的,不会的点击下面的链接: 经典题:用Java打印空心金字塔 (1)打印无底空心金字塔 输出如下: 开始运行... 请输入层数 6** ...

最新文章

  1. Unity Pro builder创建模块化仓库建筑学习教程
  2. 报名 | 数据新闻发展趋势与人才培养学术讲座(武汉)
  3. IDEA坑爹跟新的小BUG解决之道
  4. php 简单路由实现
  5. OpenMP入门教程(二)reduce sum
  6. 大数据风控之信贷审查的5大步骤及要点
  7. C++primer习题--第3章
  8. 因政府禁令 微软 Windows 9 将作出重大调整
  9. SqlLite在Net中的使用
  10. Java中子程序输出到输出文件中_Fortran 90中子例程和函数中的参数/变量的INTENT的含义...
  11. 程序员英文简历范例(前端)
  12. 土地利用转移矩阵制作
  13. kali安装百度网盘客户端
  14. WiFi钥匙管家-免费上网神器
  15. 使用Mac自带的局域网远程控制其他Mac
  16. 新版阿里云官网Maven中央仓库地址
  17. 12【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例 - 供应链
  18. 金融直播的引流小技巧
  19. 学习Python中turtle模块的基本用法(4:绘制科赫曲线和谢尔宾斯基三角形)
  20. Android终端Termux安装Scrapy

热门文章

  1. Spring-AOP底层实现
  2. 使用spring boot+shiro+jwt+mybatis-plus搭建项目框架
  3. JAVA判断输入的是数字、字符还是汉字
  4. JAVA——文件操作工具类封装的简单实现
  5. JAVA——操场跑步路径定位模拟解决方案
  6. Spring Security——org.springframework.security.oauth:spring-security-oauth2项目已过时解决方案
  7. EasyUEFI——简介、下载和安装
  8. IDM——服务器响应显示您没有权限下载此文件(百度网盘下载问题)
  9. 2019牛客暑期多校训练营(第五场)
  10. 集训队脱单大法:这是一道只能由学姐我自己出数据的水题