黑马程序员技术交流社区

标题: 分享 :自己写的几种打印菱形不同的代码 [打印本页]

作者: 丁桂松    时间: 2012-5-28 15:59
标题: 分享 :自己写的几种打印菱形不同的代码
本帖最后由 丁桂松 于 2012-5-28 16:06 编辑
  1. package 复习题;

  2. public class 复习题七 {

  3.         /**
  4.          * @打印图形   
  5.                                     *
  6.                                    ***
  7.                                   *****
  8.                                  *******
  9.                                 *********
  10.                                  *******
  11.                                   *****
  12.                                    ***
  13.                                     *


  14.          *
  15.          * */
  16.         public static void main(String[] args) {
  17.                 // 第一个尖尖朝上的等腰三角形
  18.                 for (int i = 1; i <= 5; i++) {
  19.                         for (int a = i; a <= 4; a++) {
  20.                                 System.out.print(" ");
  21.                         }
  22.                         // 判定条件表达式获取 1 3 5 7 ...等奇数
  23.                         for (int b = 1; b <= 2 * i - 1; b++) {
  24.                                 System.out.print("*");
  25.                         }
  26.                         System.out.println();
  27.                 }
  28.                 // 第二个尖尖朝下的等腰三角形
  29.                 for (int i = 1; i <= 4; i++) {
  30.                         for (int a = 1; a <= i; a++) {
  31.                                 System.out.print(" ");
  32.                         }
  33.                         // 判定条件表达式获取 7 5 3 1这些奇数
  34.                         for (int b = 1; b <= 2 * 4 - 2 * i + 1; b++) {
  35.                                 System.out.print("*");
  36.                         }
  37.                         System.out.println();
  38.                 }

  39.         }
  40. }
复制代码
  1. package java基础知识.数组和常用算法;

  2. public class 打印图形Test7 {

  3. /**
  4. * @param 打印图形
  5. *
  6. * * *
  7. * * * * *
  8. * * * * * * *
  9. * * * * *
  10. * * *
  11. *


  12. */
  13. public static void main(String[] args) {
  14. //这个写法我是通过改变每次循环的判定条件表达式来做的.可以去思考.
  15. for (int j = 1; j <= 4; j++) {
  16. for (int a = 3; a >= j; a--) {
  17. System.out.print(" ");
  18. }
  19. for (int b = 1; b <= 2 * j - 1; b++) {
  20. System.out.print("* ");
  21. }
  22. System.out.println();
  23. }
  24. for (int i = 1; i <= 4; i++) {
  25. for (int a = 1; a <= i; a++) {
  26. System.out.print(" ");
  27. }
  28. for (int b = i; b <= 2 * 3 - i; b++) {
  29. System.out.print("* ");
  30. }
  31. System.out.println();
  32. }

  33. }

  34. }
复制代码
  1. package java基础知识.数组和常用算法;

  2. public class 打印图形Test4 {

  3. /**
  4. * @param 打印图形
  5. *
  6. * * *
  7. * * * * *
  8. * * * * * * *
  9. * * * * *
  10. * * *
  11. *
  12. 图形分解为:一个尖向上的等腰三角形和一个尖朝下的等腰三角形
  13. 每个三角形的再进行分解.
  14. 第一个等腰三角形分解成一个尖朝下的空直角三角形,和一个 1 3 5 7数列的图形
  15. 第二个等腰三角形分解成一个尖朝上的空内容的直角三角形和一个5 3 1数列的图形

  16. */
  17. public static void main(String[] args) {
  18. for(int i=1;i<=7;i+=2){
  19. for(int kong=7;kong>i-1;kong--){
  20. System.out.print(" ");
  21. }
  22. for(int xing=1;xing<=i;xing++){
  23. System.out.print("* ");
  24. }
  25. System.out.println();
  26. }
  27. for(int j=1;j<=5;j+=2){
  28. for(int kong1=1;kong1<j+3;kong1++){
  29. System.out.print(" ");
  30. }
  31. for(int xing1=5;xing1>=j;xing1--){
  32. System.out.print("* ");
  33. }
  34. System.out.println();
  35. }
  36. }

  37. }
复制代码

作者: 杨永峰    时间: 2012-5-28 20:14
对称的图形代码还可以精简




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2