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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在前面看到有一些同学提出这样的问题:用一个for语句来打印如下图形
/*  54321
   *  5432
   *  543
   *  54
   *  5
   * */
大家首先想到的用嵌套for,就是两个for循环来控制输出,外循环控制循环次数,内循环控制打印个数如下:
  1. public static void twoFor()
  2.         {
  3.                 for (int i=0;i<5 ;i++ )
  4.                 {
  5.                         for (int j=5;j>i ;j-- )
  6.                         {
  7.                                 System.out.print(j);//打印每一行的数值
  8.                         }
  9.                         System.out.println();//打印一次换行
  10.                 }
  11.         }
复制代码
下面我们思考一下单for实现方式,既然不能用嵌套循环,那么我们想到改变循环变量的初始值来达到我们想要的效果  for(int i = 0 ;i <5 ; i++)   在循环体中改变 i 的初始值来控制循环的次数
单for实现方法如下:
  1. public static void oneFor()
  2.         {
  3.                 for (int i=5,j=1;i>=j ;i-- )
  4.                 {
  5.                         System.out.print(i);
  6.                         if (i==j)
  7.                         {
  8.                                 i=6;//因为回到i--时候要-1所以定义为6
  9.                                 j++;
  10.                                 System.out.println();
  11.                         }
  12.                 }
  13.         }
复制代码
那么到这里单for实现嵌套for的效果就达到了。

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
本帖最后由 史卜坤 于 2012-6-13 16:49 编辑

用for打印图形,来点好玩的。           
                       *
                     * *
                    * * *
                   * * * *
                    * * *
                     * *
                      *
public class Tu{
public static void main(String[] args){
  for(int i=0;i<5;i++){
   for(int k=i;k<4;k++){
    System.out.print(" ");//输出4个空格,第一次要输出三次依次递减
   }
   for(int j=0;j<i;j++){
   
    System.out.print("* ");//输出一个“*”和空格,第一次输出一个*,依次递增
   }
   System.out.println();//输出换行
  }
  for(int i=0;i<4;i++){
   for(int k=0;k<i+1;k++){
    System.out.print(" ");//第一次输出一个空格,依次递增
   }
   for(int j=i;j<3;j++){
    System.out.print("* ");//输出*和空格,第一次输出3个,依次递减
   }
   System.out.println();//输出换行
  }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马