空心三角形
空心三角形输出需要用到判断语句,判断每行的空格与星号的输出,下面写出了完整语句,及相关语句的详细注释。空心菱形同样类似
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.zhebie.test; public class kongtraingle { public static void main(string[] args) { int n= 5 ; //n表示输出空心三角形行数,这里以5行为例 for ( int i= 1 ;i<=n;i++) { for ( int j= 1 ;j<=n-i;j++) { //控制每行最前面的空格 system.out.print( " " ); } for ( int k = 1 ; k <= 2 *i- 1 ; k++) { //控制总的星号和空格 if (i== 1 ||i==n) { /* 控制第一行的与最后一行的星号 * 当i等于n时,每次循环都只会走这一句 * 所以会打印2*n-1个星号 */ system.out.print( "*" ); } else if (k== 1 ||k== 2 *i- 1 ) { //控制第二行到n-1行的星号的输出 system.out.print( "*" ); } else { //控制第二行到n-1行的空格的输出 system.out.print( " " ); } } system.out.println(); //每行输出完毕后进行换行操作 } } } |
空心菱形
空心菱形的上半部分与空心三角形完全一样,但是最后一行不能打印星号。
它的下半部分只需要控制上半部分行数减一,判断部分也会做相应的调整,具体下方代码已做详细说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package com.zhebie.test; public class kongtraingle { public static void main(string[] args) { int n= 5 ; //这里输出菱形的上半部分 for ( int i= 1 ;i<=n;i++) { for ( int j= 1 ;j<=n-i;j++) { //控制每行最前面的空格 system.out.print( " " ); } for ( int k = 1 ; k <= 2 *i- 1 ; k++) { //控制总的星号和空格 if (i== 1 ) { /* 控制第一行的与最后一行的星号 * 当i等于n时,每次循环都只会走这一句 * 所以会打印2*n-1个星号 */ system.out.print( "*" ); } else if (k== 1 ||k== 2 *i- 1 ) { //控制第二行到n-1行的星号的输出 system.out.print( "*" ); } else { //控制第二行到n-1行的空格的输出 system.out.print( " " ); } } system.out.println(); //每行输出完毕后进行换行操作 } //这里输出菱形的下半部分 for ( int i= 1 ;i<n;i++) { //控制四行,所以不能使用小于等于号 for ( int j= 1 ;j<=i;j++) { //控制每行最前面的空格 system.out.print( " " ); } for ( int k = 1 ; k <= 2 *(n-i)- 1 ; k++) { //控制总的星号和空格 if (k== 1 ||k== 2 *(n-i)- 1 ) { //控制第一个星号和最后一个星号 system.out.print( "*" ); } else { //控制中间空心部分 system.out.print( " " ); } } system.out.println(); //每行输出完毕后进行换行操作 } } } |
空心矩形
空心矩形相对于空心三角形和空心菱形更简单
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package com.zhebie.test; public class kongrectangle { public static void main(string[] args) { int n = 5 ; for ( int i = 1 ; i <=n; i++) { //控制输出行数,由于行与行之间有空格效果,所以打印效果为矩形 for ( int j = 1 ; j <=n; j++) { if (i== 1 ||i==n) { //控制第一行与最后一行的星号 system.out.print( "*" ); } else if (j== 1 ||j==n) { //控制第二行到倒数第二行星号 system.out.print( "*" ); } else { //控制第二行到倒数第二行空格 system.out.print( " " ); } } system.out.println(); //每输出完一行进行换行操作 } } } |
输出这些空心图形,主要方式就是在for循环中做判断输出
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/weixin_43810579/article/details/84726943