黑马程序员技术交流社区

标题: 打印一个小图形 [打印本页]

作者: 健健    时间: 2015-4-9 23:16
标题: 打印一个小图形
                   PS: 自己写着玩的,来个大牛改进改进。
  1. /*
  2. 需求:打印菱形

  3. 思路:
  4. 1、打印*型的菱形,选择用嵌套for循环语句。
  5. 2、上面和下面两个图形规律不一样,选择两次嵌套。
  6.         外层循环控制行数,内层循环控制列数。
  7. 3、通过判断条件,来控制打印的是空格还是*号。
  8. */
  9. import java.util.*;
  10. class DiamondDemo
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 //键盘录入菱形的上下行数
  15.                 Scanner sc = new Scanner(System.in);
  16.                 //提示需要输入的数值
  17.                 System.out.println("请输入菱形的行数:");
  18.                 int n = sc.nextInt();
  19.                 //打印上部分
  20.                 for (int x = 1; x<=n; x++ )
  21.                 {
  22.                         //打印上左部分
  23.                         for (int y = n; y>0 ; y-- )
  24.                         {
  25.                                 if(x<=y)//控制在外围输出菱形小方块和空格
  26.                                         System.out.print((char)4);
  27.                                 else
  28.                                         System.out.print(" ");
  29.                         }
  30.                         System.out.print("\b");//控制右半部分接着左边的打印
  31.                         //打印上右部分
  32.                         for (int y = 1; y<=n ; y++)
  33.                         {
  34.                                 if(x<=y)//控制在外围输出菱形小方块和空格
  35.                                         System.out.print((char)4);
  36.                                 else
  37.                                         System.out.print(" ");
  38.                         }
  39.                         if(x!=n)//控制下部分接着上部分打印
  40.                                 System.out.println();
  41.                         else
  42.                                 System.out.print("\r");
  43.                 }
  44.                  //打印下部分
  45.                  for (int x = 1; x<=n ; x++ )
  46.                 {
  47.                          //打印下左部分
  48.                         for (int y = 1; y<=n; y++ )
  49.                         {
  50.                                 if(x>=y)//控制在外围输出菱形小方块和空格
  51.                                         System.out.print((char)4);
  52.                                 else
  53.                                         System.out.print(" ");
  54.                         }
  55.                         System.out.print("\b");//控制右半部分接着左边的打印
  56.                         //打印下右部分
  57.                         for (int y = n; y>0 ; y--)
  58.                         {
  59.                                 if(x>=y)//控制在外围输出菱形小方块和空格
  60.                                         System.out.print((char)4);
  61.                                 else
  62.                                         System.out.print(" ");
  63.                         }
  64.                         System.out.println();
  65.                 }
  66.         }
  67. }
复制代码

                                   







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