好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java利用for循环输出空心三角形、空心菱形和空心矩形的代码

空心三角形

空心三角形输出需要用到判断语句,判断每行的空格与星号的输出,下面写出了完整语句,及相关语句的详细注释。空心菱形同样类似

?

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

查看更多关于Java利用for循环输出空心三角形、空心菱形和空心矩形的代码的详细内容...

  阅读:12次