Java零基础系列教程05Java二重循环

码影云栖客
• 阅读 1203

配套视频教程

本文B站配套视频教程

循环回顾

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

二重循环

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

Java零基础系列教程05Java二重循环

使用二重循环实现--一个循环体内又包含另一个完整的循环结构

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

Java零基础系列教程05Java二重循环

        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");
    }    

如何用*打印矩形图案?

Java零基础系列教程05Java二重循环

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

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

打印倒直角三角形

Java零基础系列教程05Java二重循环

从控制台输入直角三角形的高度(行数)
每行*的数目从下至上依次为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("");
        }

打印直角三角形

Java零基础系列教程05Java二重循环

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

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

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

打印九九乘法表

Java零基础系列教程05Java二重循环

  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分学员数

Java零基础系列教程05Java二重循环

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
SQL自动化审核初体验
导读作者:蓝剑锋TCL高级DBA,MySQL&OracleOCP知数堂MySQL实战/优化班第12期学员微信:lanjian106103个人公众号:DBARUN一、缘起2015.12.5,广州,ACOUGAsiaTour广州站第一次参加ACOUG论坛,会上
Wesley13 Wesley13
3年前
AI应用开发实战
AI应用开发实战从零开始搭建macOS开发环境本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.bili
Easter79 Easter79
3年前
TiDB分布式数据库培训实战教程(分布式集群架构、分布式大数据平台)
一、TiDB分布式数据库培训实战教程(分布式集群架构、分布式大数据平台)视频教程课程目标:为满足想学习和掌握国产TiDB数据库技术的学员,风哥特别设计的一套比较系统的TiDB课程,本教程内容涉及TiDB数据库基础知识、TiDBTIDB分布式数据库生产环境布署之Ansible技术、TIDB分布式数据库生产环境布
Wesley13 Wesley13
3年前
MySQL DBA的工作日常
导读作者:田帅萌(邮箱:tplinux@163.com,欢迎交流)知数堂MySQLDBA班第9期优秀学员,Python运维开发班第5期学员,现任职知数堂助教又到了一年换坑最频繁的季节,很多童鞋在跑路(当然不是删库跑路!(https://oscimg.oschina.net/oscnet/64201376c910468
Stella981 Stella981
3年前
MyRocks引擎:入坑须知
导读译者:魏新平知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教。原文出处:https://www.percona.com/blog/2018/02/01/myrocksenginethingsknowstart/原文作者:
Wesley13 Wesley13
3年前
MySQL自动化平台那些事
导读作者:田帅萌(邮箱:tplinux@163.com,欢迎交流)知数堂MySQLDBA班第9期优秀学员,Python运维开发班第5期学员,现任职知数堂助教承接上文《构建MySQL自动化平台思路》(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.w
Wesley13 Wesley13
3年前
MHA选择主库源码解析
导读作者:魏新平知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教。MHA在选择新的主库之前,会先把活着的slave分为几个数组,分别为latest(最靠前的slave数组),pref(优先被选择为master的数组),bad(不会被选择成为master的slave),slave
Wesley13 Wesley13
3年前
0基础前端开发需要学什么?
  0基础前端开发需要学什么?零基础学员入门前端需要了解前端行业的发展趋势、学习前端的方法、前端学习路线详解以及前端案例展示等内容;有老师指导的情况下,可以结合学员自身情况制定前端学习路线,明确学习前端的路径、未来发展趋势。提前为学员打好基础,避免小白学员走弯路。  小白学员面临的前端如何入门、如何开始学习前端、前端能够做什么等问题。因此入门前要明确学习
Stella981 Stella981
3年前
Bug隐藏在简单背后
曾记得几年前做培训老师的时候,在辅导学员Java面试题过程中,总是提醒学员“越是简单的面试题,其中的玄机就越多,需要学员有相当深厚的功力去面对”。多年从事程序开发以来,现在回头想想,还真是那么回事儿。今天转变一下分享角度,就不聊技术架构啦,咱们一起聊聊那些简单的程序代码背后。01.刚入猿门(懵懂的小白)多一点不行,少一点也不行。
Wesley13 Wesley13
3年前
MySQL的四种GROUP BY用法
导读译者:魏新平知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教。原文出处:https://www.percona.com/blog/2018/02/05/fourwaystoexecutemysqlgroupby/原文作者: