A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 健健 中级黑马   /  2015-4-9 23:16  /  656 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                   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. }
复制代码

                                   


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马