Java 程序:打印空心倒金字塔星形图案
在本教程中,我们将看到如何在 Java 中打印空心倒金字塔星形图案。首先,我们将要求用户初始化行数。然后,我们将使用循环来打印空心倒金字塔星形图案。但是在继续之前,如果你不熟悉 java 中循环的概念,那么一定要查看关于 Java 中循环的文章。
输入:输入行数:5
输出:模式为:
*
这可以通过使用以下方法来实现:
方法 1:使用 For 循环
方法 2:使用 While 循环
方法 3:使用边做边循环
让我们看看这些方法中的每一种,以便更好地理解。
Java 程序:程序 1:打印空心倒金字塔星形图案
在这个程序中,我们将看到如何使用 for 循环在 java 中打印空心倒金字塔星形图案。
算法:
开始
创建 Scanner 类的实例。
声明一个变量来存储行数。
要求用户初始化变量。
用于循环打印图案。
使用外部 for 循环迭代从 n 到 1 的行。
使用第一个内部 for 循环从 1 迭代到 n,然后打印所需的空间。
如果第一个内部循环条件为假,则检查“如果”条件。
如果条件为真,则第一个循环打印(i==1 或 i==n)和 j<=i*2-1 的字符。
如果条件为假,则第二个循环打印(j==1 || j==i2-1)的字符,打印(j!=1&j!=i2-1)直到 j<=i*2-1
显示结果。
停止
下面的例子说明了上述算法的实现。
//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 中打印空心倒金字塔星形图案。
算法:
开始
创建 Scanner 类的实例。
声明一个变量来存储行数。
要求用户初始化变量。
使用 while 循环打印图案。
将外部循环变量初始化为行数。
外部 while 循环将迭代直到 i>0
将内部循环变量初始化为 1。
使用另一个 while 循环,该循环将迭代直到++j<=i 来打印空格。
现在,使用 if-else 语句打印所需的模式。
如果条件为真,则循环首先打印字符,直到 j++<=i*2-1 为假。
如果条件为假,则 while 循环打印 j==1,j==(i2)-1 的字符,直到 while(j<=(i2)-1)条件为假。
还有 j 的打印空间!=1 和 J!=(i2)-1,直到 while(j<=(i2)-1)条件为假。
显示结果。
停止
下面的例子说明了上述算法的实现。
//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 中打印空心倒金字塔星形图案。
算法:
开始
创建 Scanner 类的实例。
声明一个变量来存储行数。
要求用户初始化变量。
使用边做边循环打印图案。
将外部循环变量初始化为行数。
外部 do-while 循环将迭代直到 i>0
将内部循环变量初始化为 1。
使用另一个 do-while 循环,该循环将迭代到++j<=n-i+1 并打印空格。
现在,使用 if-else 语句打印所需的模式。
如果条件为真,则第一个 do-while 循环打印字符,直到 j++<=i*2-1 为假。
如果条件为假,则下一个 do-while 循环打印 j==1,j==(i2)-1 的字符,直到 while(j<=(i2)-1)条件为假。
还有 j 的打印空间!=1 和 j!=(i2)-1,直到 while(j<=(i2)-1)条件为假。
显示结果。
停止
下面的例子说明了上述算法的实现。
//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】
- *
- *
- *
- *
- *