灵活使用嵌入循环

来源:互联网 发布:ubuntu 14.04 wine 编辑:程序博客网 时间:2024/05/29 18:51

多层循环,让内循环控制外循环

 

 boolean flag=false;

  int a[][]={{1,3,5},{11,20,15},{14}};

      

for(int i=0; flag!=true &&i<a.length; i++)

       {

          for(int j=0;j<a[i].length; j++)

          {

              System.out.println("i is:"+i+" "+"j is:"+j);

              if(a[i][j]==20)

              {

                  flag=true;

                  System.out.println("输出数组的值:"+a[i][j]);

                 // break;

               }

          }

       }

通过一个内循环boolean 类型flag来控制外循环的条件.

 只有当flagtrue时,外循环for由于条件2,将会终止,但内循环还是会执行。

 

假如是break的话,就是终止整个循环,连内循环System.out.println("i is:"+i+" "+"j is:"+j);语句都不会执行,直接跳出内外循环。

 

这个内外循环,让我想起杀头的故事,一共是有10个人,最后只有一个人活着.怎么样做你才是最幸运的呢!

统治者给他们一个死法: 一共10个人,每次报到3,这个人就要被杀掉.

实现原理: 利用循环链表,headrear指针,当两者相等的时候,那么这个人最幸运.

 

for(; head!=rear; )

{

   for(int j=0; j<3; j++)

   {

       Rear=head;

       head=head->next;

}

}

两者有相同之处,都是由内循环来控制外循环的。

原创粉丝点击