栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

1 -「季淳卿」统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1 -「季淳卿」统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。

生命太短暂,所以不能空手走过,你必须对某样东西倾注你的深情 —— 朱棣文

西西里岛

题目:(测试多重循环练习)

统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。

过程一:
import java.util.Scanner;

public class Text {
    public static void main(String[] args) {

        
        int people;//人数
        int sum = 0;//总成绩
        int average = 0;//每均分

        int people2;//每班人数
        int sum2 = 0;//每班总成绩
        int average2 = 0;//每班平均分

        int people3;//每班人数
        int sum3 = 0;//每班总成绩
        int average3 = 0;//每班平均分

        Scanner myscanner = new Scanner(System.in);
        for (people = 1; people <= 5; people++) {
            System.out.println("请输出1的学生成绩:");
            int soce = myscanner.nextInt();
            sum += soce;
            average=sum/5;
        }
        System.out.println("1班-总和是:"+sum);
        System.out.println("1班-平均数是:"+average);

        Scanner myscanner2 = new Scanner(System.in);
        for (people2 = 1; people2 <= 5; people2++) {
            System.out.println("请输入2班的学生成绩:");
            int soce2 = myscanner2.nextInt();
            sum2 += soce2;
            average2=sum2/5;
        }
        System.out.println("2班-总和是:"+sum2);
        System.out.println("2班-平均数是:"+average2);

        Scanner myscanner3 = new Scanner(System.in);
        for (people3 = 1; people3 <= 5; people3++) {
            System.out.println("请输入3班的学生成绩:");
            int soce3 = myscanner3.nextInt();
            sum3 += soce3;
            average3=sum3/5;
        }
        System.out.println("3班-总和是:"+sum3);
        System.out.println("3班-平均数是:"+average3);

        int suoyou = (sum+sum2+sum3)/15;

        System.out.println("三个班级的平均数"+suoyou);

    }
}
过程二
import java.util.Scanner;

public class Text {
    public static void main(String[] args) {

        
        int people;//人数
        double average = 0;//每均分
        double allsum = 0;//所有班级总成绩
        double allaverage = 0;//所有班级总平均数
        int totalNumber = 5;//班级总人数
        int alltotalNumber = 3;//所有班级人数
        int allpass = 0;


        for (int i = 1; i <= alltotalNumber; i++) {//外循环 = 三个班级

            int sum = 0;//总成绩
            System.out.println("=============================");
            Scanner myscanner = new Scanner(System.in);
            for (people = 1; people <= totalNumber; people++) {// 小循环 = 五个学生
                System.out.println("请输出" + i + "班" + people + "号学生成绩:");
                Double soce = myscanner.nextDouble();
                if (soce >= 60 && soce <= 100) {//判断是否及格
                    allpass++;//及格+1
                }
                System.out.println("成绩为:" + soce);
                sum += soce;
                average = sum / totalNumber;
            }
            System.out.println(i + "班-总和是 = " + sum);
            System.out.println(i + "班-平均数是 = " + average);
            allsum += sum;//(把sum累计到allsum)计算三个班级的总成绩
        }
        allaverage = allsum / (totalNumber * alltotalNumber);//计算三个班级的总和
        System.out.println("三个班级总的平均数 = " + allaverage);
        System.out.println("三个班级的及格人数 = " + allpass);

    }
}
过程三、(细节推到-老韩)
import java.util.Scanner;
public class MulForExercise01 {
//编写一个 main 方法
public static void main(String[] args) {
//统计 3 个班成绩情况,每个班有 5 名同学,
//求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
//统计三个班及格人数,每个班有 5 名同学。
//
//思路分析:
//化繁为简
//(1) 先计算一个班 , 5 个学生的成绩和平均分 , 使用 for
//1.1 创建 Scanner 对象然后,接收用户输入
//1.2 得到该班级的平均分 , 定义一个 doubel sum 把该班级 5 个学生的成绩累积
//(2) 统计 3 个班(每个班 5 个学生) 平均分
//(3) 所有班级的平均分
//3.1 定义一个变量,double totalScore 累积所有学生的成绩
//3.2 当多重循环结束后,totalScore / (3 * 5)
//(4) 统计三个班及格人数
//4.1 定义变量 int passNum = 0; 当有一个学生成绩>=60, passNum++
//4.2 如果 >= 60 passNum++
//(5) 可以优化[效率,可读性, 结构]
//创建 Scanner 对象
Scanner myScanner = new Scanner(System.in);
double totalScore = 0; //累积所有学生的成绩
int passNum = 0;//累积 及格人数
int classNum = 3; //班级个数
int stuNum = 5;//学生个数
for( int i = 1; i <= classNum; i++) {//i 表示班级
double sum = 0; //一个班级的总分
for( int j = 1; j <= stuNum; j++) {//j 表示学生
System.out.println("请数第"+i+"个班的第"+j+"个学生的成绩");
double score = myScanner.nextDouble();
//当有一个学生成绩>=60, passNum++
if(score >= 60) {
passNum++;
}
sum += score; //累积
System.out.println("成绩为" + score);
}
//因为 sum 是 5 个学生的总成绩
System.out.println("sum=" + sum + " 平均分=" + (sum / stuNum));
//把 sum 累积到 totalScore
totalScore += sum;
}
System.out.println("三个班总分="+ totalScore
+ " 平均分=" + totalScore / (classNum*stuNum));
System.out.println("及格人数=" + passNum);
}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/844983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号