Java 程序:打印镜像半菱形星形图案
在本教程中,我们将看到如何在 Java 中打印镜像的半菱形星形图案。首先,我们将要求用户初始化行数。然后,我们将使用循环来打印镜像的半菱形星形图案。但是在继续之前,如果你不熟悉 java 中循环的概念,那么一定要查看关于 Java 中循环的文章。
输入:输入行数:6
输出:模式为:
这可以通过使用以下方法来实现:
方法 1:使用 For 循环
方法 2:使用 While 循环
方法 3:使用边做边循环
让我们看看这些方法中的每一种,以便更好地理解。
程序 1:打印镜像半菱形星形图案
在这个程序中,我们将看到如何使用 for 循环在 java 中打印镜像的半菱形星形图案。
算法:
- 开始
- 创建 Scanner 类的实例。
- 声明变量来存储行数和模式符号。
- 要求用户初始化这些变量。
- 使用两个循环来打印图案。
- 循环的第一个外部循环迭代,直到条件 i<=n 为假,第一个内部循环显示空间,直到条件 j<=n-i 为假。
- 第二个内部循环将显示字符,直到条件 j
- 第二个外部循环迭代,直到条件 i>0 为假,第一个内部循环将显示空间,直到 j<=n-i 为假。第二个内部循环将显示字符,直到条件 j<=i 为假。
- 显示结果。
- 停止
下面的例子说明了上述算法的实现。
//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 中打印镜像的半菱形星形图案。
算法:
- 开始
- 创建 Scanner 类的实例。
- 声明变量来存储行数和模式符号。
- 要求用户初始化这些变量。
- 使用两个循环来打印图案。
- 第一个外部 while 循环将执行代码,直到条件 i<=n 为假。第一个内循环将显示空格,直到条件 j++<=n-i 为假,第二个内循环将显示字符,直到条件 j++<=i 为假。第一个外环将显示镜像半菱形星形图案的前半部分。
- 在第一个外部循环执行之后,光标会转到下一行,并执行第二个外部 while 循环。
- 第二个外部循环将执行语句,直到条件 i>0 为假,第一个内部循环显示空格,直到条件 j++<=n-i 为假,第二个内部循环将显示字符,直到条件 j++<=i 为假。
- 第二个外环将显示镜像半菱形图案的剩余一半。
- 停止
下面的例子说明了上述算法的实现。
//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 中打印镜像的半菱形星形图案。
算法:
- 开始
- 创建 Scanner 类的实例。
- 声明变量来存储行数和模式符号。
- 要求用户初始化这些变量。
- 使用两个边做边循环来打印图案。
- do-while 循环执行一次代码,然后同时检查条件。
- 第一个外部 do-while 循环执行代码,直到条件为 false ++i<=n 为 false,第一个内部循环将显示空格,直到条件++j<=n-i+1 为 false,第二个内部循环将显示字符,直到条件++j<=i 为 false。该外环显示镜像半菱形图案的一半图案。
- 第二个外部 do-while 循环执行代码,直到条件–I > 0 为假,第一个内部循环将显示空格,直到条件++j<=n-i+1,第二个内部循环将显示字符,直到条件++j<=i 为假。此外循环显示镜像半菱形图案的剩余一半图案。
- 显示结果。
- 停止
下面的例子说明了上述算法的实现。
//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 *
- *
- *