Java利用for循环输出空心菱形的实例代码

 更新时间:2014年02月10日 16:46:36   投稿:shangke  
这篇文章主要介绍了Java利用for循环输出空心菱形的实例代码,需要的朋友可以参考下

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

编写程序,在控制台上输出空心菱形,对角距离为6.

public class Diamond { 
  public static void main(String[] args) { 
    printHollowRhombus(6); 
  } 
   
  public static void printHollowRhombus(int size) { 
    if (size % 2 == 0) { 
      size++;// 计算菱形大小 
    } 
    for (int i = 0; i < size / 2 + 1; i++) { 
      for (int j = size / 2 + 1; j > i + 1; j--) { 
        System.out.print(" ");// 输出左上角位置的空白 
      } 
      for (int j = 0; j < 2 * i + 1; j++) { 
        if (j == 0 || j == 2 * i) { 
          System.out.print("* ");// 输出菱形上半部边缘 
        } else { 
          System.out.print(" ");// 输出菱形上半部空心 
        } 
      } 
      System.out.println("");   //换行 
    } 
    for (int i = size / 2 + 1; i < size; i++) { 
      for (int j = 0; j < i - size / 2; j++) { 
        System.out.print(" ");// 输出菱形左下角空白 
      } 
      for (int j = 0; j < 2 * size - 1 - 2 * i; j++) { 
        if (j == 0 || j == 2 * (size - i - 1)) { 
          System.out.print("* ");// 输出菱形下半部边缘 
        } else { 
          System.out.print(" ");// 输出菱形下半部空心 
        } 
      } 
      System.out.println("");   //换行 
    } 
  } 
} 

效果如图:

三角形:

public class StartG {
  public static void main(String [] args)
  {
    int i=0;
    int j=0;
    for(i=1;i<=4;i++)
    {  for(j=1;j<=2*i-1;j++)
       System.out.print("*");
      System.out.println("");  
    }
    for(i=4;i>=1;i--)
    { for(j=1;j<=2*i-3;j++)
        System.out.print("*");
      System.out.println("");  
    }
  }
 }

相关文章

  • 浅谈Android开发中项目的文件结构及规范化部署建议

    浅谈Android开发中项目的文件结构及规范化部署建议

    这篇文章主要介绍了Android开发中项目的文件结构及规范化部署建议,组织好代码文件的结构有利于维护团队合作的效率,需要的朋友可以参考下
    2016-03-03
  • SpringCloud搭建Eureka服务模块的过程

    SpringCloud搭建Eureka服务模块的过程

    Eureka在分布式系统中起到了连接各个微服务的纽带作用,使得服务之间的交互变得更加灵活、可靠,本文将深入探讨如何使用Spring Cloud,逐步引导读者完成Eureka服务模块的搭建,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • Java高并发BlockingQueue重要的实现类详解

    Java高并发BlockingQueue重要的实现类详解

    这篇文章主要给大家介绍了关于Java高并发BlockingQueue重要的实现类的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Spring Data JPA进行数据分页与排序的方法

    Spring Data JPA进行数据分页与排序的方法

    这篇文章主要介绍了Spring Data JPA进行数据分页与排序的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • SpringMVC实现RESTful风格:@PathVariable注解的使用方式

    SpringMVC实现RESTful风格:@PathVariable注解的使用方式

    这篇文章主要介绍了SpringMVC实现RESTful风格:@PathVariable注解的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • JDK1.8下载、安装和环境配置超详细教程(最新最完整)

    JDK1.8下载、安装和环境配置超详细教程(最新最完整)

    jdk1.8是一款功能强大的Java语音软件开发工具包,JDK是学好Java的第一步,本文重点给大家介绍JDK1.8下载、安装和环境配置教程,需要的朋友可以参考下
    2022-11-11
  • 一文带你剖析Redisson分布式锁的原理

    一文带你剖析Redisson分布式锁的原理

    相信使用过redis的,或者正在做分布式开发的童鞋都知道redisson组件,它的功能很多,但我们使用最频繁的应该还是它的分布式锁功能,少量的代码,却实现了加锁、锁续命(看门狗)、锁订阅、解锁、锁等待(自旋)等功能,我们来看看都是如何实现的
    2022-11-11
  • Mybatis下划线驼峰处理的几种方法

    Mybatis下划线驼峰处理的几种方法

    这篇文章主要讲述Mybatis下划线驼峰处理的几种方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Activiti如何启动流程并使流程前进

    Activiti如何启动流程并使流程前进

    这篇文章主要介绍了Activiti如何启动流程并使流程前进,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • JDK版本管理工具jEnv解决不同jdk版本项目

    JDK版本管理工具jEnv解决不同jdk版本项目

    本文主要介绍了JDK版本管理工具jEnv解决不同jdk版本项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论