📅  最后修改于: 2023-12-03 14:51:17.469000             🧑  作者: Mango
在Java中,我们可以使用循环语句和条件语句来打印各种形状的图案,包括三角形。
等腰直角三角形是一种比较简单的图形,我们可以使用嵌套循环来打印。
for(int i=1; i<=5; i++){
for(int j=1; j<=i; j++){
System.out.print("* ");
}
System.out.println();
}
代码说明:
代码输出:
*
* *
* * *
* * * *
* * * * *
等边三角形是一种每行输出相同数量“”号的三角形。我们可以通过第一个循环控制行数,第二个循环控制每行输出的“”号数量。
int n = 5;
for(int i=0; i<n; i++){
for(int j=0; j<n-i-1; j++){
System.out.print(" ");
}
for(int k=0; k<=i*2; k++){
System.out.print("*");
}
System.out.println();
}
代码说明:
n-i-1
,因为每行的空格数是(n-1)-i
。2*i+1
,第一行输出1个“”号,第二行输出3个“*”号,以此类推。代码输出:
*
***
*****
*******
*********
翻转等边三角形与等边三角形的思路相似,只是输出的方向不同。我们可以根据等边三角形的思路,只需要把第二个循环和第三个循环的输出顺序调换一下就可以。
int n = 5;
for(int i=n-1; i>=0; i--){
for(int j=0; j<n-i-1; j++){
System.out.print(" ");
}
for(int k=0; k<=i*2; k++){
System.out.print("*");
}
System.out.println();
}
代码说明:
代码输出:
*********
*******
*****
***
*
空心等边三角形与等边三角形的思路类似,只需要在输出每行“”号的位置进行判断,如果是第一行或者最后一行,输出全部的“”号,其他行只输出边缘的“*”号。
int n = 5;
for(int i=0; i<n; i++){
for(int j=0; j<n-i-1; j++){
System.out.print(" ");
}
for(int k=0; k<=i*2; k++){
if(i==0 || i==n-1 || k==0 || k==i*2){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
代码说明:
代码输出:
*
* *
* *
* *
*********
翻转空心等边三角形与空心等边三角形的思路类似,只需要把第二层循环的顺序倒转一下就可以。
int n = 5;
for(int i=n-1; i>=0; i--){
for(int j=0; j<n-i-1; j++){
System.out.print(" ");
}
for(int k=0; k<=i*2; k++){
if(i==0 || i==n-1 || k==0 || k==i*2){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
代码说明:
代码输出:
*********
* *
* *
* *
*
以上就是在Java中打印三角形图案的几种方法。您可以根据实际需求选择其中的一种,或者根据需要进行修改。