Java 程序:打印镜像半菱形星形图案

原文:https://www.studytonight.com/java-programs/java-program-to-print-the-mirrored-half-diamond-star-pattern

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

输入:输入行数:6

输出:模式为:












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

方法 1:使用 For 循环

方法 2:使用 While 循环

方法 3:使用边做边循环

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

程序 1:打印镜像半菱形星形图案

在这个程序中,我们将看到如何使用 for 循环在 java 中打印镜像的半菱形星形图案。

算法:

  1. 开始
  2. 创建 Scanner 类的实例。
  3. 声明变量来存储行数和模式符号。
  4. 要求用户初始化这些变量。
  5. 使用两个循环来打印图案。
  6. 循环的第一个外部循环迭代,直到条件 i<=n 为假,第一个内部循环显示空间,直到条件 j<=n-i 为假。
  7. 第二个内部循环将显示字符,直到条件 j
  8. 第二个外部循环迭代,直到条件 i>0 为假,第一个内部循环将显示空间,直到 j<=n-i 为假。第二个内部循环将显示字符,直到条件 j<=i 为假。
  9. 显示结果。
  10. 停止

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

//Java Program to Print the Mirrored Half Diamond Star Pattern
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        //Take input from the user
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of rows: ");
        int n=sc.nextInt();     
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n-i;j++)
            {
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++)
            {
                System.out.print("*");
            }
             System.out.println();
        }            
        for(int i=n-1;i>0;i--)
        {
            for(int j=1;j<=n-i;j++)
            {
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++)
            {
               System.out.print("*");
            }
            System.out.println();
       }                
    }
}

输入行数:6 *

  • *
  • *






程序 2:打印镜像半菱形星形图案

在这个程序中,我们将看到如何使用 while 循环在 java 中打印镜像的半菱形星形图案。

算法:

  1. 开始
  2. 创建 Scanner 类的实例。
  3. 声明变量来存储行数和模式符号。
  4. 要求用户初始化这些变量。
  5. 使用两个循环来打印图案。
  6. 第一个外部 while 循环将执行代码,直到条件 i<=n 为假。第一个内循环将显示空格,直到条件 j++<=n-i 为假,第二个内循环将显示字符,直到条件 j++<=i 为假。第一个外环将显示镜像半菱形星形图案的前半部分。
  7. 在第一个外部循环执行之后,光标会转到下一行,并执行第二个外部 while 循环。
  8. 第二个外部循环将执行语句,直到条件 i>0 为假,第一个内部循环显示空格,直到条件 j++<=n-i 为假,第二个内部循环将显示字符,直到条件 j++<=i 为假。
  9. 第二个外环将显示镜像半菱形图案的剩余一半。
  10. 停止

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

//Java Program to Print the Mirrored Half Diamond Star Pattern
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        //Take input from the user
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of rows: ");
        int n=sc.nextInt();     
        int i=1;
        int j;
        while(i<=n)
        {    
            j=1;
            while(j++<=n-i)                
            {
                System.out.print(" ");
             }
            j=1;
            while(j++<=i) 
            {
                System.out.print("*");                                  
            }              
            System.out.println();
            i++;
        }   
        i=n-1;
        while(i>0)
        {
             j=1;
             while(j++<=n-i)
             {
                   System.out.print(" ");                     
             }
            j=1;
            while(j++<=i)
            {
                   System.out.print("*");                     
            }              
            System.out.println();
            i--;
        }  
    }
}

输入行数:6 *

  • *
  • *






程序 3:打印镜像半菱形星形图案

在这个程序中,我们将看到如何使用 do-while 循环在 java 中打印镜像的半菱形星形图案。

算法:

  1. 开始
  2. 创建 Scanner 类的实例。
  3. 声明变量来存储行数和模式符号。
  4. 要求用户初始化这些变量。
  5. 使用两个边做边循环来打印图案。
  6. do-while 循环执行一次代码,然后同时检查条件。
  7. 第一个外部 do-while 循环执行代码,直到条件为 false ++i<=n 为 false,第一个内部循环将显示空格,直到条件++j<=n-i+1 为 false,第二个内部循环将显示字符,直到条件++j<=i 为 false。该外环显示镜像半菱形图案的一半图案。
  8. 第二个外部 do-while 循环执行代码,直到条件–I > 0 为假,第一个内部循环将显示空格,直到条件++j<=n-i+1,第二个内部循环将显示字符,直到条件++j<=i 为假。此外循环显示镜像半菱形图案的剩余一半图案。
  9. 显示结果。
  10. 停止

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

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

输入行数:6 *

  • *
  • *