• 多重循环


    1.什么是二重循环:
          一个循环体内又包含另一个完整的循环结构
         语法:
           while(循环条件1) {
                //循环操作1
                while(循环条件2) {
                     //循环操作2
                }
           }

           do {
               //循环操作1
               do {
                   //循环操作2
               }while(循环条件1);
           }while(循环条件2);

           for(循环条件1) {
                //循环操作1
                for(循环条件2) {
                     //循环操作2
                }
           }

           while(循环条件1) {
                 //循环操作1
                 for(循环条件2) {
                       //循环操作2
              }
           }
           ※各种循环可以相互嵌套
     2.二重循环执行顺序:
          外层循环执行1次内层循环执行1周

         案例:
          若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?
          public class Demo02 {
           public static void main(String[] args) {
            Scanner input=new Scanner(System.in);
            
            
            //二重循环
            
            /**
             *
             * 外层循环执行一次,内层循环执行1周
             *
             */
            for (int i = 1; i <=3; i++) {
             System.out.println("*************************************");
             System.out.println("请输入第"+i+"个班级4位学员的成绩:");
             int [] scores=new int[4];  //学员成绩数组
             double sum=0.0;  //计算总和
             for (int j = 0; j <scores.length; j++) {
              System.out.println("请输入第"+(j+1)+"位学员的成绩:");
              scores[j]=input.nextInt();
              sum=sum+scores[j];
             }
             System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
            }
           }
          }
         案例:打印矩形
           public class Demo03 {
            public static void main(String[] args) {
             //外层循环控制行数
             for (int i = 1; i <=5; i++) {
              //内层循环控制个数
              for (int j = 1; j <=5; j++) {
               System.out.print("*");
              }
              System.out.println();
             }
            }
           }
     3.在二重循环中使用 continue:使用continue代表结束当前循环,继续下一次循环

       案例:若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于85分学员数
         public class Demo04 {
          public static void main(String[] args) {
           Scanner input=new Scanner(System.in);
           
           //二重循环
           
           /**
            *
            * 外层循环执行一次,内层循环执行1周
            *
            */
           
           int count=0;  //存储大于85分的人数
           for (int i = 1; i <=3; i++) {
            System.out.println("*************************************");
            System.out.println("请输入第"+i+"个班级4位学员的成绩:");
            int [] scores=new int[4];  //学员成绩数组
            double sum=0.0;  //计算总和
            for (int j = 0; j <scores.length; j++) {
             System.out.println("请输入第"+(j+1)+"位学员的成绩:");
             scores[j]=input.nextInt();
             sum=sum+scores[j];
             if(scores[j]<85){
              //结束本次循环,进入下一次循环
              continue;
             }
             count++;
            }
            System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
           }
           System.out.println("分数大于85的人数:"+count);
          }
          

         }
     4.在二重循环中使用 break:使用break代表结束(跳出)当前循环

       案例:有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服 最后打印总共买了几件衣服

         public class Demo05 {
          public static void main(String[] args) {
           Scanner input=new Scanner(System.in);
           int count=0;
           //外层循环控制5家店
           for (int i = 1; i <=5; i++) {
            System.out.println("欢迎光临第"+i+"家店");
            //内层循环控制最多买3件衣服
            for (int j = 1; j <=3; j++) {
             System.out.println("是否离开(y/n)");
             char chois=input.next().charAt(0);
             if(chois=='y'){
              //如果输入Y代表离开
              break;
             }
             System.out.println("买了一件衣服");
             count++;
            }
           }
           System.out.println("共买了"+count+"件衣服");
          }
         }

  • 相关阅读:

    CreateProcess
    luogu P2234 [HNOI2002]营业额统计 |平衡树
    luogu P2286 [HNOI2004]宠物收养场 |平衡树
    luogu P3369 【模板】普通平衡树
    luogu P3834 【模板】可持久化线段树 1(主席树)| 静态第k小问题
    luogu P4149 [IOI2011]Race |点分治
    luogu P2634 [国家集训队]聪聪可可 |点分治
    luogu P4178 Tree |点分治+树状数组
    luogu P2664 树上游戏 |点分治
  • 原文地址:https://www.cnblogs.com/yjc1605961523/p/9080952.html
Copyright © 2020-2023  润新知