Java 程序:打印空心倒金字塔星形图案

原文:https://www.studytonight.com/java-programs/java-program-to-print-the-hollow-inverted-pyramid-star-pattern

在本教程中,我们将看到如何在 Java 中打印空心倒金字塔星形图案。首先,我们将要求用户初始化行数。然后,我们将使用循环来打印空心倒金字塔星形图案。但是在继续之前,如果你不熟悉 java 中循环的概念,那么一定要查看关于 Java 中循环的文章。

输入:输入行数:5

输出:模式为:





*

这可以通过使用以下方法来实现:

方法 1:使用 For 循环

方法 2:使用 While 循环

方法 3:使用边做边循环

让我们看看这些方法中的每一种,以便更好地理解。

Java 程序:程序 1:打印空心倒金字塔星形图案

在这个程序中,我们将看到如何使用 for 循环在 java 中打印空心倒金字塔星形图案。

算法:

  1. 开始

  2. 创建 Scanner 类的实例。

  3. 声明一个变量来存储行数。

  4. 要求用户初始化变量。

  5. 用于循环打印图案。

  6. 使用外部 for 循环迭代从 n 到 1 的行。

  7. 使用第一个内部 for 循环从 1 迭代到 n,然后打印所需的空间。

  8. 如果第一个内部循环条件为假,则检查“如果”条件。

  9. 如果条件为真,则第一个循环打印(i==1 或 i==n)和 j<=i*2-1 的字符。

  10. 如果条件为假,则第二个循环打印(j==1 || j==i2-1)的字符,打印(j!=1&j!=i2-1)直到 j<=i*2-1

  11. 显示结果。

  12. 停止

下面的例子说明了上述算法的实现。

//Java Program to Print the Hollow Inverted Pyramid Star Pattern
import java.util.*;
public class Main
{
     public static void main(String []args)
     {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of rows: ");
        int n=sc.nextInt(); 
        for(int i=n;i>0;i--)
        {
            for(int j=1;j<=n-i;j++)
            {
                System.out.print(" ");
            }
            if(i==1 || i==n)
            for(int j=1;j<=i*2-1;j++)
            {
                System.out.print("*");
            }
            else
            {
                for(int j=1;j<=i*2-1;j++)
                { 
                   if(j==1 || j==i*2-1)
                   System.out.print("*");
                   else
                   System.out.print(" ");
                }
            }
          System.out.println();
        }
    }
}

输入行数:6


  • *
  • *
  • *

Java 程序:程序 2:打印空心倒金字塔星形图案

在这个程序中,我们将看到如何使用 while 循环在 java 中打印空心倒金字塔星形图案。

算法:

  1. 开始

  2. 创建 Scanner 类的实例。

  3. 声明一个变量来存储行数。

  4. 要求用户初始化变量。

  5. 使用 while 循环打印图案。

  6. 将外部循环变量初始化为行数。

  7. 外部 while 循环将迭代直到 i>0

  8. 将内部循环变量初始化为 1。

  9. 使用另一个 while 循环,该循环将迭代直到++j<=i 来打印空格。

  10. 现在,使用 if-else 语句打印所需的模式。

  11. 如果条件为真,则循环首先打印字符,直到 j++<=i*2-1 为假。

  12. 如果条件为假,则 while 循环打印 j==1,j==(i2)-1 的字符,直到 while(j<=(i2)-1)条件为假。

  13. 还有 j 的打印空间!=1 和 J!=(i2)-1,直到 while(j<=(i2)-1)条件为假。

  14. 显示结果。

  15. 停止

下面的例子说明了上述算法的实现。

//Java Program to Print the Hollow Inverted Pyramid Star Pattern
import java.util.*;
public class Main
{
     public static void main(String []args)
     {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of rows: ");
        int n=sc.nextInt(); 
        int i=n;
        int j;
        while(i>0)
        {
           j=1;
           while(j++<=n-i)
           {
               System.out.print(" ");
           }
           if(i==1 || i==n)
           {
               j=1;
               while(j++<=i*2-1)
               {
                   System.out.print("*");
               }
            }
            else
            {
                j=1;
                while(j<=(i*2)-1)
                {
                    if(j==1 || j==(i*2)-1)
                    System.out.print("*");
                    else
                    System.out.print(" ");
                    j++;
                }
            }
            System.out.println();
            i--;
        } 
    }
}

输入行数:7


  • *
  • *
  • *
  • *

Java 程序:程序 3:打印空心倒金字塔星形图案

在这个程序中,我们将看到如何使用 do-while 循环在 java 中打印空心倒金字塔星形图案。

算法:

  1. 开始

  2. 创建 Scanner 类的实例。

  3. 声明一个变量来存储行数。

  4. 要求用户初始化变量。

  5. 使用边做边循环打印图案。

  6. 将外部循环变量初始化为行数。

  7. 外部 do-while 循环将迭代直到 i>0

  8. 将内部循环变量初始化为 1。

  9. 使用另一个 do-while 循环,该循环将迭代到++j<=n-i+1 并打印空格。

  10. 现在,使用 if-else 语句打印所需的模式。

  11. 如果条件为真,则第一个 do-while 循环打印字符,直到 j++<=i*2-1 为假。

  12. 如果条件为假,则下一个 do-while 循环打印 j==1,j==(i2)-1 的字符,直到 while(j<=(i2)-1)条件为假。

  13. 还有 j 的打印空间!=1 和 j!=(i2)-1,直到 while(j<=(i2)-1)条件为假。

  14. 显示结果。

  15. 停止

下面的例子说明了上述算法的实现。

//Java Program to Print the Hollow Inverted Pyramid Star Pattern
import java.util.*;
public class Main
{
     public static void main(String []args)
     {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of rows: ");
        int n=sc.nextInt(); 
        int i=n;
        int j;
        do
        {
            j=1;
            do
            {
                System.out.print(" ");
            }while(++j <=n-i+1); 
            if(i==1 || i==n)
            {
                j=1;
                do
                {
                    System.out.print("*");
                }while(++j <=i*2-1);
            }
            else
            {
                j=1;
                do
                {
                    if(j==1 || j==i*2-1)
                    System.out.print("*");
                    else
                    System.out.print(" ");
                }while(++j<=i*2-1);
            }
            System.out.println();
            --i;
          } while(i>0); 
    }
}

输入行数:8

                          • T2】
  • *
  • *
  • *
  • *
  • *