iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java利用for循环打印菱形的实例教程
  • 696
分享到

Java利用for循环打印菱形的实例教程

2024-04-02 19:04:59 696人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

Java for循环打印菱形 Java代码输出菱形的方法和思路有很多,在此分享一个稍带模块化拆分思想的解决方案,将需要输出的菱形拆分成8个模块(如下图),每个模块独立实现输出。 优点

Java for循环打印菱形

Java代码输出菱形的方法和思路有很多,在此分享一个稍带模块化拆分思想的解决方案,将需要输出的菱形拆分成8个模块(如下图),每个模块独立实现输出。

优点:8个模块之间耦合性降低,灵活性增强。也就是说我们可以独立的控制这8个模块中任意一个模块的输出内容来灵活应对业务逻辑的变更。

按照上图标好的顺序依次实现这8个模块的代码,当1458模块输出为空格时,其中2367模块的组合,就是一个菱形。

思路分析:

        1      ######*######  第一排 模块1[6个"#"]+模块2[1个"*"]+模块3[0个"*"]+模块4[6个"#"]
        2      #####***#####
        3      ####*****####
        4      ###*******###
        5      ##*********##
        6      #***********#
    --------------------------------------------------------
        7      ##*********##  第七排 模块5[2个"#"]+模块6[5个"*"]+模块7[4个"*"]+模块8[2个"#"]
        8      ###*******###
        9      ####*****####
       10      #####***#####
       11      ######*######

代码示例:


public class Demo {

 public static void main(String[] args) {

 //为了输出效果在输出时将思路分析中的"#"替换为" "空格输出

 for (int i = 1; i <= 11; i++) {

 if (i <= 6) {
 //当i <=6时打印上三角形
 //模块 1
 for (int j = 6; j >= i; j--) {
  System.out.print(" ");
 }
 //模块 2
 for (int j = 0; j < i; j++) {
  System.out.print("*");
 }
 //模块 3[同一排中模块3的"*"个数总比模块2少1个,所以这里j <i-1作为循环条件即可]
 for (int j = 0; j < i - 1; j++) {
  System.out.print("*");
 }
 //模块 4
 for (int j = 6; j >= i; j--) {
  System.out.print(" ");
 }
 //换行
 System.out.println();
 } else {
 //当i >6时打印下三角形
 //模块 5
 for (int j = 7; j <= i + 1; j++) {
  System.out.print(" ");
 }
 //模块 6
 for (int j = 11; j >= i; j--) {
  System.out.print("*");
 }
 //模块 7
 for (int j = 11; j >= i + 1; j--) {
  System.out.print("*");
 }
 //模块 8
 for (int j = 7; j <= i + 1; j++) {
  System.out.print(" ");
 }

 //换行
 System.out.println();
 }
 }
 }
}

运行结果:

F:\software\Java\jdk1.8.0_121\bin\java.exe "-javaagent:D:\IntelliJ idea 2019.1.4\lib\idea_rt.jar=50753:D:\IntelliJ IDEA 2019.1.4\bin" -Dfile.encoding=UTF-8 -classpath F:\software\Java\jdk1.8.0_121\jre\lib\charsets.jar;F:\software\Java\jdk1.8.0_121\jre\lib\deploy.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\access-bridge-64.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\cldrdata.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\dnsns.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jaccess.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jfxrt.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\localedata.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\nashorn.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunec.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunjce_provider.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunmscapi.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunpkcs11.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\zipfs.jar;F:\software\Java\jdk1.8.0_121\jre\lib\javaws.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jce.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jfr.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jfxswt.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jsse.jar;F:\software\Java\jdk1.8.0_121\jre\lib\management-agent.jar;F:\software\Java\jdk1.8.0_121\jre\lib\plugin.jar;F:\software\Java\jdk1.8.0_121\jre\lib\resources.jar;F:\software\Java\jdk1.8.0_121\jre\lib\rt.jar;D:\ideastudyspace\spring_study\spring-study\spring-study-aop\target\classes;E:\software\MavenRepository\org\aspectj\aspectjweaver\1.9.4\aspectjweaver-1.9.4.jar;E:\software\MavenRepository\org\springframework\spring-WEBmvc\5.2.0.RELEASE\spring-webmvc-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-aop\5.2.0.RELEASE\spring-aop-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-beans\5.2.0.RELEASE\spring-beans-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-context\5.2.0.RELEASE\spring-context-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-core\5.2.0.RELEASE\spring-core-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-jcl\5.2.0.RELEASE\spring-jcl-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-expression\5.2.0.RELEASE\spring-expression-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-web\5.2.0.RELEASE\spring-web-5.2.0.RELEASE.jar;E:\software\MavenRepository\com\alibaba\fastJSON\1.2.47\fastjson-1.2.47.jar com.shiguang.test.Demo
      *     
     ***    
    *****   
   *******  
  ********* 
 ***********
  ********* 
   *******  
    *****   
     ***    
      *     

Process finished with exit code 0

业务变更: 打印一个空心菱形

此时只需要将1458模块输出为"*",2367模块输出为空格即可得到一个空心菱形。

代码示例:


public class Demo2 {

 public static void main(String[] args) {

 for (int i = 1; i <= 11; i++) {

  if (i <= 6) {
  //当i <=6时打印上三角形
  //模块 1
  for (int j = 6; j >= i; j--) {
   System.out.print("*");
  }
  //模块 2
  for (int j = 0; j < i; j++) {
   System.out.print(" ");
  }
  //模块 3[同一排中模块3的"*"个数总比模块2少1个,所以这里j <i-1作为循环条件即可]
  for (int j = 0; j < i - 1; j++) {
   System.out.print(" ");
  }
  //模块 4
  for (int j = 6; j >= i; j--) {
   System.out.print("*");
  }
  //换行
  System.out.println();
  } else {
  //当i >6时打印下三角形
  //模块 5
  for (int j = 7; j <= i + 1; j++) {
   System.out.print("*");
  }
  //模块 6
  for (int j = 11; j >= i; j--) {
   System.out.print(" ");
  }
  //模块 7
  for (int j = 11; j >= i + 1; j--) {
   System.out.print(" ");
  }
  //模块 8
  for (int j = 7; j <= i + 1; j++) {
   System.out.print("*");
  }

  //换行
  System.out.println();
  }
 }
 }
}

运行结果:

F:\software\Java\jdk1.8.0_121\bin\java.exe "-javaagent:D:\IntelliJ IDEA 2019.1.4\lib\idea_rt.jar=50681:D:\IntelliJ IDEA 2019.1.4\bin" -Dfile.encoding=UTF-8 -classpath F:\software\Java\jdk1.8.0_121\jre\lib\charsets.jar;F:\software\Java\jdk1.8.0_121\jre\lib\deploy.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\access-bridge-64.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\cldrdata.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\dnsns.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jaccess.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\jfxrt.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\localedata.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\nashorn.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunec.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunjce_provider.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunmscapi.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\sunpkcs11.jar;F:\software\Java\jdk1.8.0_121\jre\lib\ext\zipfs.jar;F:\software\Java\jdk1.8.0_121\jre\lib\javaws.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jce.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jfr.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jfxswt.jar;F:\software\Java\jdk1.8.0_121\jre\lib\jsse.jar;F:\software\Java\jdk1.8.0_121\jre\lib\management-agent.jar;F:\software\Java\jdk1.8.0_121\jre\lib\plugin.jar;F:\software\Java\jdk1.8.0_121\jre\lib\resources.jar;F:\software\Java\jdk1.8.0_121\jre\lib\rt.jar;D:\ideastudyspace\spring_study\spring-study\spring-study-aop\target\classes;E:\software\MavenRepository\org\aspectj\aspectjweaver\1.9.4\aspectjweaver-1.9.4.jar;E:\software\MavenRepository\org\springframework\spring-webmvc\5.2.0.RELEASE\spring-webmvc-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-aop\5.2.0.RELEASE\spring-aop-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-beans\5.2.0.RELEASE\spring-beans-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-context\5.2.0.RELEASE\spring-context-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-core\5.2.0.RELEASE\spring-core-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-jcl\5.2.0.RELEASE\spring-jcl-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-expression\5.2.0.RELEASE\spring-expression-5.2.0.RELEASE.jar;E:\software\MavenRepository\org\springframework\spring-web\5.2.0.RELEASE\spring-web-5.2.0.RELEASE.jar;E:\software\MavenRepository\com\alibaba\fastjson\1.2.47\fastjson-1.2.47.jar com.shiguang.test.Demo
****** ******
*****   *****
****     ****
***       ***
**         **
*           *
**         **
***       ***
****     ****
*****   *****
****** ******

Process finished with exit code 0

总结

到此这篇关于Java利用for循环打印菱形的文章就介绍到这了,更多相关Java for循环打印菱形内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java利用for循环打印菱形的实例教程

本文链接: https://www.lsjlt.com/news/122477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java利用for循环打印菱形的实例教程
    Java for循环打印菱形 Java代码输出菱形的方法和思路有很多,在此分享一个稍带模块化拆分思想的解决方案,将需要输出的菱形拆分成8个模块(如下图),每个模块独立实现输出。 优点...
    99+
    2024-04-02
  • Java怎么利用for循环打印菱形
    这篇文章主要介绍了Java怎么利用for循环打印菱形,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java for循环打印菱形Java代码输出菱形的方法和思路有很多,在此分享...
    99+
    2023-06-14
  • JAVA用for循环打印空心菱形
    空心菱形如图所示 那么我们应该如何去写出来呢这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢废话不多说了,上思路:(仅代表个人理解,欢迎指点) 1.首先...
    99+
    2024-04-02
  • JAVA中怎么用for循环打印空心菱形
    这篇“JAVA中怎么用for循环打印空心菱形”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JAVA中怎么用for循环打印空心...
    99+
    2023-06-29
  • PHP实现while循环打印实心菱形
    PHP实现while循环打印实心菱形 在PHP中,我们可以通过嵌套的while循环来实现打印实心菱形的效果。下面是一个具体的代码示例:<php // 设置菱形的大小 $size ...
    99+
    2024-04-02
  • Java编程用指定字符打印菱形实例
    学习Java 本身是一个挺枯燥的过程,说白了就是每天敲代码而已。但如果换一种思路,可以编写各种各样的程序,不仅加深对代码的理解,同时提高兴趣,这样十分有利于大家的学习。下面我们来看一个有趣的小实例。如何实现用指定字符打印出一个菱形,代码如下...
    99+
    2023-05-31
    java 字符 菱形
  • PHP编程指南:利用while循环绘制实心菱形
    PHP编程指南:利用while循环绘制实心菱形 在PHP编程中,利用循环几乎是必不可少的操作之一。本文将介绍如何利用while循环来绘制一个实心菱形,让您更深入了解PHP中的基本循环操...
    99+
    2024-03-15
    php 循环 菱形
  • Java编程之如何实现双重循环打印图形
    这篇文章将为大家详细讲解有关Java编程之如何实现双重循环打印图形,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。双重循环打印顶点在左上的直角三角形:public static void...
    99+
    2023-05-30
    java
  • Java如何实现多线程循环打印
    这篇文章将为大家详细讲解有关Java如何实现多线程循环打印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wait-notify循环打印问题可以通过设置目标值,每个线程想打印目标值,如果拿到锁后这次轮到的数...
    99+
    2023-06-22
  • PHP编程技巧:while循环绘制漂亮的实心菱形
    PHP编程技巧:while循环绘制漂亮的实心菱形 PHP作为一种流行的后端编程语言,它具有强大的功能和灵活的语法,如何运用PHP编写出漂亮的图形呢?在本文中,我将演示如何利用while...
    99+
    2024-03-15
    php while循环 菱形 php编写
  • js中for循环的实例用法
    这篇文章主要介绍“js中for循环的实例用法”,在日常操作中,相信很多人在js中for循环的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js中for循环的实例用法”...
    99+
    2024-04-02
  • Java五种方式实现多线程循环打印问题
    目录wait-notify join方式 ReentrantLock ReentrantLock+Condition Semaphore 三个线程T1、T2、T3轮流打印ABC,打印...
    99+
    2024-04-02
  • Java 循环队列/环形队列的实现流程
    之前,我们使用链表实现了基础队列,链接放在这里可以去康康哟 Java栈和基础队列的实现详解 之所以没有选择数组来实现,是因为每有一个元素出队,数组中所有剩下的元素都需要向前移动一次,...
    99+
    2024-04-02
  • 利用For循环遍历Python字典的三种方法实例
    目录前言方法 1:使用 For 循环 + 索引进行迭代方法 2:使用 .keys( ) + 索引进行迭代方法 3:使用 .items( ) 进行迭代进阶:遍历嵌套字典总结前言 在Py...
    99+
    2024-04-02
  • 最详细的Java循环结构解析之for循环教程(适合小白)
    目录循环结构的分类 for循环 基本语法 for循环的执行顺序 实例解析 嵌套for循环 基本语法 实例解析 总结循环结构的分类 在Java中,循环结构一共分为三类: 1.for循...
    99+
    2024-04-02
  • python中for循环的多种使用实例
    目录前言for循环迭代字符串for打印数字注意for循环不能迭代数值类型for循环打印数字的话要借用range函数for循环可用来初始化列表简单的往列表里添加数据列表推导式总结前言 ...
    99+
    2024-04-02
  • Go语言中的for循环使用实例分析
    这篇文章主要介绍“Go语言中的for循环使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言中的for循环使用实例分析”文章能帮助大家解决问题。问题案例一:取地址符在 Go 语言中,我...
    99+
    2023-07-04
  • Java中利用gson解析Json实例教程
    前言本文主要跟大家介绍了关于Java用gson解析Json的相关内容,分享出来供大家参考学习,需要的朋友们下面来一起看看吧。json数据{ "resultcode": "200", "reason": "successed!", "resu...
    99+
    2023-05-31
    java gson 解析json
  • Python利用matplotlib绘制圆环图(环形图)的实战案例
    目录一、概念介绍二、数据展示三、图像绘制四、参数解释(1) wedgeprops是我们绘图时的参数字典。(2) startangle是第一个数据起画点。(3) plt.text(4)...
    99+
    2024-04-02
  • Java中的循环队列怎么利用数组实现
    这篇文章将为大家详细讲解有关Java中的循环队列怎么利用数组实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。用Java的数组实现一下循环队列。队列的类//循环队列class CirQueu...
    99+
    2023-05-31
    循环队列 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作