配套视频教程
本文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分学员数