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


    配套视频教程

    本文B站配套视频教程

    循环回顾

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

    二重循环

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

    image.png

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

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

    image.png

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

    如何用*打印矩形图案?

    image.png

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

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

    打印倒直角三角形

    image.png

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

    打印直角三角形

    image.png

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

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

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

    打印九九乘法表

    image.png

      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))+"	");
                }
                System.out.println("");
            }
    

    分析
    九九乘法表共有9行,因此外层循环条件为
    i<=9
    第i行上有i个式子,因此因此外层循环条件为
    j <= I
    第i行上的第j个式子为
    j的值 * i的值 = j*i的值

    在二重循环中使用continue

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

    image.png

  • 相关阅读:
    使用过Redis,我竟然还不知道Rdb
    系统的讲解
    系统的讲解
    我眼中的 RPC
    Swoole Timer 的应用
    场景调研
    二维数组环求最大子数组
    《你的灯亮着吗》 阅读笔记三
    《你的灯亮着吗》 阅读笔记二
    《你的灯亮着吗》阅读笔记一
  • 原文地址:https://www.cnblogs.com/songboriceboy/p/13757654.html
Copyright © 2020-2023  润新知