乐趣区

关于java:Java零基础系列教程05Java二重循环

配套视频教程

本文 B 站配套视频教程

循环回顾

某次程序大赛,S1 班有 4 名学员加入,学员的问题由用户输出,计算该班参赛学员的平均分

二重循环

若有 3 个班级各 4 名学员参赛,如何计算每个班级参赛学员的平均分?

应用二重循环实现 – 一个循环体内又蕴含另一个残缺的循环构造

外层循环管制班级数目,内层循环管制每个班级学员数目

        int classNum = 3;
        int studentNum = 4;
        Scanner scanner = new Scanner(System.in);
//        外层循环管制班级数目

        for(int i = 0; i < classNum; i++)
        {
            int total = 0;// 某个班级全副学员的总成绩
            for(int j = 0; j < studentNum; j++)
            {System.out.println("请输出第"+(i+1)+"个班级"+"第"+(j+1)+"个学员的问题");
                int score = scanner.nextInt();
                total += score;
            }
            System.out.println("第"+(i+1)+"个班级的均匀问题是" + total/4);
        }

    for(int i = 0; i <classNum; i++){
        sum = 0.0;                         
        System.out.println("请输出第" + (i+1) + "个班级的问题");
        for(int j = 0; j < score.length; j++){System.out.print("第" + (j+1) + "个学员的问题:");
            score[j] = input.nextInt();
            sum = sum + score[j];    
        }
        aver [i] = sum / score.length;            // 计算平均分
        System.out.println(“第”+(i+1)+“个班级平均分 "+ aver [i] +"\n");
    }    

如何用 * 打印矩形图案?

剖析
用二重循环实现
外层循环管制行数
内层循环管制每行的 * 号数

   for (int m = 0; m < 5; m++)
        {for (int i = 0; i < 5; i++)
            {System.out.print("*\t");
            }
            System.out.println("");
        }

打印倒直角三角形

从控制台输出直角三角形的高度(行数)
每行 * 的数目从下至上顺次为 1、2、3、4…

//*****
//****
//***
//**
//*
//        第 1 行 m=5, 里层循环要打印 5 个 *
//        第 2 行 m=4, 里层循环要打印 4 个 *
//        第 3 行 m=3, 里层循环要打印 3 个 *
        //for (int m = 0; m < 5; m++)// 管制的是打印多少行
        Scanner scanner  = new Scanner(System.in);
        System.out.println("输出行数");
        int row = scanner.nextInt();
        for (int m = row; m > 0; m--)// 管制的是打印多少行
        {for (int i = 0; i < m; i++)// 管制的是每行打印多少列
            {System.out.print("*\t");
            }
            System.out.println("");
        }

打印直角三角形

从控制台输出直角三角形的高度(行数)
每行 * 的数目顺次为 1、3、5、7…

剖析
实现思路
外层循环管制行数
剖析每行打印的内容
每一行打印字符 * 完结后要换行

内层循环的条件 j<=2i-1

打印九九乘法表

  for (int m = 0; m < 9; m++)// 管制的是打印多少行
        {for (int i = 0; i < 1+m; i++)// 管制的是每行打印多少列
            {System.out.print((i+1)+"*"+(m+1)+"="+((i+1)*(m+1))+"\t");
            }
            System.out.println("");
        }

剖析
九九乘法表共有 9 行,因而外层循环条件为

        i<=9

第 i 行上有 i 个式子,因而因而外层循环条件为

       j <= I

第 i 行上的第 j 个式子为

         j 的值 * i 的值 = j* i 的值

在二重循环中应用 continue

若有 3 个班级各 4 名学员参赛,计算每个班级参赛学员平均分,统计问题大于 85 分学员数

退出移动版