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输出空心三角形、空心菱形和空心矩形的完整攻略和代码示例。

阅读剩余 66%

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

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

相关文章

  • Spring+SpringMVC+Hibernate项目环境搭建的步骤(图文)

    以下是关于“Spring+SpringMVC+Hibernate项目环境搭建的步骤(图文)”的完整攻略,其中包含两个示例。 Spring+SpringMVC+Hibernate项目环境搭建的步骤(图文) Spring+SpringMVC+Hibernate是一种常用的Java Web开发框架组合。在本文中,我们将讲解如何搭建一个Spring+SpringMV…

    Java 2023年5月17日
    00
  • JAVA读取文件夹大小的几种方法实例

    下面是针对“JAVA读取文件夹大小的几种方法实例”的完整攻略。 一、问题概述 在开发Java应用程序中,我们难免会遇到计算文件夹大小的需求。那么,在Java中,我们有哪些方法来获取文件夹的大小呢?本文将为大家详细介绍Java中获取文件夹大小的几种方法。 二、方法一:使用File类 我们可以使用Java自带的File类获取文件夹的大小,具体步骤如下: 创建一个…

    Java 2023年5月20日
    00
  • java中thread线程start和run的区别

    Java中,线程是程序的执行流,它是在进程中执行的。可以通过继承Thread类或实现Runnable接口来创建线程。在创建线程时,我们需要注意线程的生命周期。在Java中,线程的生命周期可以分为New、Runnable、Blocked、Waiting、Timed Waiting和Terminated这6种状态。 线程的启动是通过调用start方法来实现的;线…

    Java 2023年5月26日
    00
  • SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    下面给出详细的攻略以及两条示例说明。 1. 概述 本攻略主要介绍如何使用SpringMVC和Ajax实现文件批量上传和下载功能。SpringMVC提供了强大的文件处理能力,可以方便地上传和下载文件。而Ajax则可以实现异步上传和下载文件,提高用户体验。 2. 文件上传 2.1 配置文件上传相关bean 首先,需要在SpringMVC配置文件中添加以下配置: …

    Java 2023年6月15日
    00
  • java实现输出任意整数的每一位

    下面是java实现输出任意整数的每一位的完整攻略。 步骤一:将整数转成字符串 我们知道,字符串中每个字符都可以通过下标访问。所以,我们只需要将整数转换成字符串,就可以通过下标依次访问每个数字了。 int num = 123456; String numStr = String.valueOf(num); // 将整数转换成字符串 步骤二:遍历字符串,输出每一…

    Java 2023年5月26日
    00
  • 详解Struts2动态方法调用

    下面我就为您详细讲解“详解Struts2动态方法调用”的完整攻略。 1. 什么是Struts2动态方法调用? Struts2动态方法调用是指利用struts2框架自带功能,通过请求参数的传递,实现动态调用Action类中的方法。 在Struts2框架中,每个请求都会对应着一个Action类的实例,Action类中一般都会定义多个方法,而动态方法调用就是指对这…

    Java 2023年5月20日
    00
  • 一文带你学会Java网络编程

    一文带你学会Java网络编程攻略 什么是网络编程 网络编程指的是利用计算机网络实现不同计算机间的数据通信。网络编程需要使用网络协议和Socket套接字等技术。Java语言提供了丰富的网络编程API,开发者们可以利用Java语言实现各种网络通信。 Java网络编程的核心技术 协议 网络编程中最关键的技术就是各种网络协议:TCP、UDP、HTTP、SMTP、FT…

    Java 2023年5月19日
    00
  • JavaWeb文件上传流程

    JavaWeb文件上传是Web开发中经常遇到的需求,下面将详细讲解JavaWeb文件上传的流程及相关代码示例: 1. 前端文件选择及上传 在前端页面中,需要定义一个表单,使用表单的file类型获取文件,将文件数据通过Ajax发往后端服务器。 下面是一个简单的HTML页面示例,其中包含一个表单和一个上传文件的input标签: <!DOCTYPE html…

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