Java练习:打印各种图形(等腰三角形、直角三角形、实心菱形、空心菱形)

青旅半醒 2022-02-02 13:47 539阅读 0赞

Java打印各种图形(等腰三角形、直角三角形、实心菱形、空心菱形)

学习笔记,方便自己日后复习,也可供大家参考学习

1.打印等腰三角形
代码:

  1. // 打印出等腰三角形
  2. @Test
  3. public void demo04() {
  4. for (int i = 1; i <= 5; i++) {
  5. // 控制行数
  6. for (int j = 5 - i; j >= 0; j--) {
  7. // 控制每一行星星前面的空格数
  8. System.out.print(" ");
  9. }
  10. for (int j = 0; j < 2 * i - 1; j++) {
  11. // 控制星星数
  12. System.out.print("*");
  13. }
  14. System.out.println();//分行,开始下一行的输出
  15. }
  16. }

运行截图:
在这里插入图片描述
2.打印直角三角形

  1. // 打印直角三角形
  2. @Test
  3. public void demo05() {
  4. for (int i = 1; i <= 5; i++) {
  5. //控制行数
  6. for (int j = 0; j < i; j++) {
  7. //控制每一行的星星数
  8. System.out.print("*");
  9. }
  10. System.out.println();//开始下一行
  11. }
  12. }

运行截图:
在这里插入图片描述
3.打印实心菱形
分析:在这里菱形组成可以看为两个等腰三角形组成,可以拆解为打印一个正立三角形,一个倒立三角形。由于中间所画的这条对角线只能有一个,所以要么正立三角形星星的行数比倒立三角形星星的行数少一行,要么倒立三角形星星的行数比正立三角形星星的行数少一。
在这里插入图片描述
代码:

  1. // 打印实心菱形
  2. @Test
  3. public void demo06() {
  4. // 第一个等腰三角形(正着的)
  5. for (int i = 0; i < 5; i++) {
  6. // 控制行数
  7. for (int j = 0; j < 5 - i; j++) {
  8. //控制每一行星星前面的空格数
  9. System.out.print(" ");
  10. }
  11. for (int j = 0; j < 2 * i - 1; j++) {
  12. //控制每一行星星数
  13. System.out.print("*");
  14. }
  15. System.out.println();//分行,开始下一行的输出
  16. }
  17. // 第二个等腰三角形(倒着的)
  18. for (int i = 3; i > 0; i--) {
  19. // 控制行数
  20. for (int j = 4 - i; j >= 0; j--) {
  21. //控制每一行星星前面的空格数
  22. System.out.print(" ");
  23. }
  24. for (int j = 0; j < 2 * i - 1; j++) {
  25. //控制每一行星星数
  26. System.out.print("*");
  27. }
  28. System.out.println();//分行,开始下一行的输出
  29. }
  30. }

运行截图:
在这里插入图片描述
4.打印空心菱形
分析:这个思路和打印实心菱形大致一样,不过就是只显示四个边的星星,中间部分的让其不显示,可以先判断它是否等于初始值或者结束值,如果等于这两个值其中一个就让其输出为“*”,如果不是就输出为空格(“ “).
代码:

  1. // 打印空心菱形
  2. @Test
  3. public void demo07() {
  4. // 第一个等腰三角形(正着的)
  5. for (int i = 0; i < 5; i++) {
  6. // 控制行数
  7. for (int j = 0; j < 5 - i; j++) {
  8. //控制每一行星星前面的空格数
  9. System.out.print(" ");
  10. }
  11. for (int j = 0; j < 2 * i - 1; j++) {
  12. //控制每一行星星数
  13. if (j == 0 || j == 2 * i - 2) {
  14. //如果为开头或者结尾则输出星星
  15. System.out.print("*");
  16. } else {
  17. //其他(中间)输出空格,不让其显示
  18. System.out.print(" ");
  19. }
  20. }
  21. System.out.println();//换行
  22. }
  23. // 第二个等腰三角形(倒着的)
  24. for (int i = 3; i > 0; i--) {
  25. // 控制行数
  26. for (int j = 4 - i; j >= 0; j--) {
  27. //控制每一行星星前面的空格数
  28. System.out.print(" ");
  29. }
  30. for (int j = 0; j < 2 * i - 1; j++) {
  31. //控制每一行星星数
  32. if (j == 0 || j == 2 * i - 2) {
  33. //如果为开头或者结尾则输出星星
  34. System.out.print("*");
  35. } else {
  36. //其他(中间)输出空格,不让其显示
  37. System.out.print(" ");
  38. }
  39. }
  40. System.out.println();//换行
  41. }
  42. }

运行截图:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,539人围观)

还没有评论,来说两句吧...

相关阅读