Java利用for循环输出空心三角形、空心菱形和空心矩形的代码

让我们来详细讲解Java利用for循环输出空心三角形、空心菱形和空心矩形的代码。

输出空心三角形

首先,我们要理解空心三角形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是依次递增或递减的。

下面是一个输出空心三角形的示例代码:

public class HollowTriangle {
    public static void main(String[] args) {
        int num = 5; // 控制行数
        for(int i = 1; i <= num; i++) {
            for(int j = 1; j <= num - i; j++) {
                System.out.print(" "); // 输出空格
            }
            for(int k = 1; k <= (2*i-1); k++) {
                if(k == 1 || k == (2*i-1) || i == num) {
                    System.out.print("*"); // 输出星号
                } else {
                    System.out.print(" "); // 输出空格
                }
            }
            System.out.println(); // 换行
        }
    }
}

代码中的三个for循环分别控制了输出的行数、空格数和星号数,其中:

  • 外层循环控制行数;
  • 第二个循环控制空格数,循环次数为当前行数 - 1,即前面的空格数需要递减;
  • 第三个循环控制星号数,循环次数为当前行数的2倍 - 1,其中需要特殊处理的情况是第一个星号、最后一个星号和最后一行的星号都是需要输出的,其它位置都是空格。

运行结果如下:

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

输出空心菱形

同样地,我们需要理解空心菱形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是依次递增或递减的,但是它与空心三角形不同的是,空心菱形是由两个三角形组成的,因此需要对空格和星号的输出做一定的变化。

下面是一个输出空心菱形的示例代码:

public class HollowDiamond {
    public static void main(String[] args) {
        int num = 5; // 控制行数
        for(int i = 1; i <= num; i++) {
            for(int j = 1; j <= num - i; j++) {
                System.out.print(" "); // 输出空格
            }
            for(int k = 1; k <= (2*i-1); k++) {
                if(k == 1 || k == (2*i-1)) {
                    System.out.print("*"); // 输出星号
                } else {
                    System.out.print(" "); // 输出空格
                }
            }
            System.out.println(); // 换行
        }
        for(int i = num - 1; i >= 1; i--) {
            for(int j = num - i; j >= 1; j--) {
                System.out.print(" "); // 输出空格
            }
            for(int k = 1; k <= (2*i-1); k++) {
                if(k == 1 || k == (2*i-1)) {
                    System.out.print("*"); // 输出星号
                } else {
                    System.out.print(" "); // 输出空格
                }
            }
            System.out.println(); // 换行
        }
    }
}

代码中使用了两个for循环分别输出了上下两个三角形,其中:

  • 第一个for循环和第二个for循环的作用与空心三角形相同;
  • 每个三角形的第一个和最后一个星号仍然是需要输出的;
  • 对于第一个三角形,第+i行打印2*i-1个星号;
  • 对于第二个三角形,第+i行打印2*i-1个星号。

运行结果如下:

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

输出空心矩形

最后,我们需要理解空心矩形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是不同的。下面是一个输出空心矩形的示例代码:

public class HollowRectangle {
    public static void main(String[] args) {
        int row = 4; // 控制行数
        int col = 6; // 控制列数
        for(int i = 1; i <= row; i++) {
            for(int j = 1; j <= col; j++) {
                if(i == 1 || i == row || j == 1 || j == col) {
                    System.out.print("*"); // 输出星号
                } else {
                    System.out.print(" "); // 输出空格
                }
            }
            System.out.println(); // 换行
        }
    }
}

代码中使用了嵌套的for循环输出矩形,其中:

  • 外层循环用于控制输出的行数;
  • 内层循环用于控制输出的列数,如果是第一行、最后一行、第一列、最后一列则输出星号,否则输出空格。

运行结果如下:

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

以上就是Java输出空心三角形、空心菱形和空心矩形的完整攻略和代码示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java利用for循环输出空心三角形、空心菱形和空心矩形的代码 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • JavaScript检测浏览器是否支持CSS变量代码实例

    JavaScript检测浏览器是否支持CSS变量是一个非常重要的功能。在网站开发中,有时我们需要使用一些比较新的CSS特性,而这些特性并不一定被所有的浏览器都支持。因此,在使用新特性之前,我们需要检测一下浏览器是否支持它们,以免在不支持的浏览器中导致页面出现问题。 以下是JavaScript检测浏览器是否支持CSS变量的完整攻略: 步骤 1: 检测浏览器是否…

    Java 2023年6月15日
    00
  • JSP + Servlet实现生成登录验证码示例

    下面为你讲解如何使用JSP和Servlet实现生成登录验证码。 前置知识 在进行本文的代码实现前,你需要先了解以下技术: Java 编程语言 Servlet 技术 JSP 技术 HTTP 协议 准备工作 在开始代码实现前,请确保你的开发环境中已经正确配置了JSP和Servlet开发环境。这里以Eclipse + Tomcat服务器为例,其他开发环境的配置方法…

    Java 2023年5月23日
    00
  • IDEA实现 springmvc的简单注册登录功能的示例代码

    以下是“IDEA实现 springmvc的简单注册登录功能的示例代码”的完整攻略: 创建 Maven Web 项目 首先,在 IDEA 中创建一个 Maven Web 项目,选择 Spring MVC。 配置 pom.xml 文件 在 pom.xml 文件中添加 Spring 相关的依赖,包括 spring-webmvc、spring-orm、spring-…

    Java 2023年5月16日
    00
  • Spring Boot 整合持久层之JdbcTemplate

    下面是详细讲解”Spring Boot 整合持久层之 JdbcTemplate” 的完整攻略: JdbcTemplate 简介 JdbcTemplate 是 Spring Framework 提供的一种针对 JDBC 操作的一个简化封装框架,帮助开发者摆脱繁琐的 JDBC 操作代码,提供了一组方法来方便地操作数据库。 JdbcTemplate内部封装了Jdb…

    Java 2023年5月19日
    00
  • struts2+jsp实现文件上传的方法

    下面我来为您详细讲解一下 “Struts2 + JSP 实现文件上传的方法” 的完整攻略。 1. 环境搭建 首先,需要准备好以下开发环境:- Eclipse IDE- Tomcat 服务器- Struts2 框架 2. 添加 Struts2 依赖库 在 Eclipse 中创建一个新的 Web 项目,并在项目的 build path 中添加 Struts2 的…

    Java 2023年5月20日
    00
  • springBoot中的properties配置解析

    在Spring Boot中,可以使用properties文件来配置应用程序的属性。这些属性可以用于配置数据源、日志、缓存、安全等方面。本文将详细讲解Spring Boot中的properties配置解析,包括如何定义属性、如何使用属性、如何覆盖属性等。 定义属性 在Spring Boot中,可以使用application.properties或applica…

    Java 2023年5月15日
    00
  • 详解用maven将dubbo工程打成jar包运行

    下面是详解用 Maven 将 Dubbo 工程打成 Jar 包运行的完整攻略。 1. 确认dubbo工程已经创建并可正常运行 首先,需要确认 Dubbo 工程已经创建并且能够正常运行。其中,建议使用 Java 8 或更高版本。 2. 在 pom.xml 文 件 中 增 加 打 包 插 件 配 置 在工程的 pom.xml 文件中,需要增加打包插件配置,以生成…

    Java 2023年5月20日
    00
  • Maven打包jar生成javadoc文件和source文件代码实例

    接下来将为您详细讲解”Maven打包jar生成javadoc文件和source文件代码实例”的完整攻略。 1. 前置条件 在进行生成javadoc文件和source文件代码之前,需要确保本机已经安装了JDK和Maven。 2. 创建Maven项目 在本地创建一个Maven项目并在其中添加需要进行打包的代码。 <project xmlns="h…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部