for循环---图案打印(正三角、倒三角、举行、实心菱形、空心菱形)

/**
  * 利用循环打印图案:
  * 1.
  *    &
  *    & &
  *    & & &
  * 2.
  *    & & &
  *    & & &
  *    & & &
  * 3.
  *     & & &
  *     & &
  *     &
  * 4.
  *       &
  *    & &
  *  & & &
  * 5.
  *  &&&
  *    &&
   *     &
  * 6.
  *       &
  *    & & &
  *  & & & & & 
  * 7.
  *  & & & & &
  *    & & &
  *       &  
  * 8.
  *        &
  *     & & &
  *  & & & & & 
  *     & & &
  *        &  
  * 9.
  *      &
  *    &   &
  *  &       & 
  *    &   &
  *      &  
  */
 public static void printDesign1(){
  for(int i=1;i<10;i++){// 控制行
   for(int j=1;j<=i;j++){// 控制列  每行的个数与其对应的列值相同
    System.out.print("& ");
    //System.out.print(i*j+" ");// 9*9 乘法表
   }
   System.out.println();
  }
  System.out.println("=====================================================");
  for(int i=0;i<3;i++){// 控制行
   for(int j=0;j<3;j++){// 控制列  每行的个数与其对应的列值相同
    System.out.print("& ");
   }
   System.out.println();
  }
  System.out.println("=====================================================");
  for(int i=3;i>=0;i--){
   for(int j=i;j>=0;j--){
    if(j<=i){
     System.out.print("& ");
    }
   }
   System.out.println();
  }
  System.out.println("=====================================================");
  // 现需要确定总 的列数;空格也是需要输出的
  // 难点:1.每行空格的个数 总列数-1-当前行标 2.每行*的个数 当前行标+1 3.何时输出*:空格输出完毕之后
  // 2个for循环是穿行的
  /**
   *   行     空格个数   *个数
   *      0        2        1
   *      1        1        2
   *      2        0        3
   */
  for(int i=0;i<3;i++){// 行
   for(int j=0;j<(3-1)-i;j++){// 输出空格:
    System.out.print(" ");
   }
   for(int k=0;k<i+1;k++){// 输出* i+1  *个数比航标多1
    System.out.print("&");
   }
   System.out.println();
  }
  
  System.out.println("=====================================================");
  for(int i=3;i>0;i--){
   for(int j=0;j<3-i;j++){// 空格
    System.out.print(" ");
   }
   for(int k=0;k<i;k++){// *号
    System.out.print("&");
   }
   System.out.println();
  }
  System.out.println("=====================================================");
  
  // 5.正三角----思想:将4和1结合起来
  for(int i=0;i<3;i++){
   for(int j=0;j<3-i-1;j++){
    System.out.print(" ");
   }
   for(int k=0;k<i+1;k++){
    System.out.print("&");
   }
   for(int p=0;p<i;p++){
    System.out.print("&");
   }
   System.out.println();
  }
  System.out.println("=============================================");
  // 6.倒三角
  for (int i = 0; i < 3; i++) {
   for (int j = 0; j < i; j++) {
    System.out.print(" ");
   }
   for (int k = 0; k <= 3 - 1 - i; k++) {
    System.out.print("&");
   }
   for (int p = 0; p < 3 - 1 - i; p++) {
    System.out.print("&");
   }
   System.out.println();
  }
  System.out.println("=============================================");
  // 8.菱形
  for(int i=0;i<3;i++){
   for(int j=0;j<3-1-i;j++){
    System.out.print(" ");
   }
   for(int k=0;k<i+1;k++){
    System.out.print("&");
   }
   for(int p=0;p<i;p++){
    System.out.print("&");
   }
   System.out.println();
  }
  for(int i=0;i<2;i++){
   for(int j=0;j<=i;j++){
    System.out.print(" ");
   }
   for(int k=0;k<=2-1-i;k++){
    System.out.print("&");
   }
   for(int p=0;p<2-1-i;p++){
    System.out.print("&");
   }
   System.out.println();
  }
  System.out.println("=============================================");
  // 9.空心菱形
  for(int i=0;i<4;i++){
   for(int j=0;j<4-1-i;j++){
    System.out.print(" ");
   }
   for(int k=0;k<i+1;k++){
    if(k>=1&&k<=i){
     System.out.print(" ");
    }else{
     System.out.print("&");
    }
   }
   for(int p=0;p<i;p++){
    if(p<i-1){// 注意条件不能是i:
     System.out.print(" ");
    }else{
     System.out.print("&");
    }
   }
   System.out.println();
  }
  for(int i=0;i<3;i++){
   for(int j=0;j<i+1;j++){
    System.out.print(" ");
   }
   for(int k=0;k<3-i;k++){
    if(k>=1&&k<3-i){//条件很重要
     System.out.print(" ");
    }else{
     System.out.print("&");
    }
   }
   for(int p=0;p<3-1-i;p++){
    if(p<1-i){//3-1-i-1
     System.out.print(" ");
    }else{
     System.out.print("&");
    }
   }
   System.out.println();
  }
 }

转载于:https://my.oschina.net/u/1989867/blog/383972

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值