黑马程序员技术交流社区

标题: 第四天作业的附加题做出来咯!小开心O(∩_∩)O~~ [打印本页]

作者: leijia    时间: 2017-3-26 22:05
标题: 第四天作业的附加题做出来咯!小开心O(∩_∩)O~~
需要的拿走,喜欢的评论支持一下!!!
附加题(选做)
------------------------------------------------------------------
第二题:分析以下需求,并用代码实现
        1.基础班考试要进行分组,键盘录入该班级总共多少组?以及每组的学生数量?
        2.根据录入的组数及每组学员的数量创建二维数组
        3.利用随机数产生0-100的成绩(包含0和100)
        4.要求:
                (1)打印该班级中每组的不及格人数
                (2)打印该班级中每组的平均分
                (3)打印组的最高平均分
                (4)打印班级中的不及格人数
                (5)打印班级平均分
                (6)演示格式如下:
                        请输入班级总组数:3
                        请输入班级中每组的人数:10
                        控制台输出:
                                第1组不及格人数为: 6 人
                                第1组平均分为: 52
                                第2组不及格人数为: 7 人
                                第2组平均分为: 46
                                第3组不及格人数为: 3 人
                                第3组平均分为: 69
                                班级中单组最高平均分为:69
                                班级中不及格人数为: 16 人
                                班级总平均分为: 56

                               
                                public static void main(String[] args) {
                // 键盘录入定义组数为X,每一组人数为Y
                Scanner sc = new Scanner(System.in);
                // 创建随机数对象
                Random r = new Random();
                // 首先定义一个二维数组
                System.out.println("请输入班级总组数:");
                int x = sc.nextInt();
                System.out.println("请输入班级中每组的人数:");
                int y = sc.nextInt();
                int[][] arr = new int[x][y];

                // 统计班级不及格的人数
                int count = 0;
                //定义班级人数
                int clsscount = 0;
                // 定义一个sum变量记录班级的总分 ,可以求平均分
                int sum = 0;
                int i;
                int max = 0;

                for (i = 0; i < arr.length; i++) {
                        // 定义一个变量求每组的总分
                        int groupSum = 0;
                        int j;
                        // 每组不及格的人数
                        int groupcount = 0;
                        for (j = 0; j < arr[i].length; j++) {
                                // 录入成绩
                                int score = r.nextInt(100) + 1;
                                // 给每个学生录入成绩
                                arr[i][j] = score;
                                //遍历出给个学生的分数
                                //System.out.println("arr"+"["+i+"]["+j+"]"+"的分数"+arr[i][j]);
                                clsscount++;
                                // 这是每一组的总分
                                groupSum += score;
                                if (score < 60 && score >= 0) {
                                        // 每组不及格的人数
                                        groupcount++;

                                }

                        }
                        // 每组的平均分
                        int groupAvg = groupSum / j;
                        System.out.println("第" + (i + 1) + "组不及格人数为:" + groupcount+"人");
                        System.out.println("第" + (i + 1) + "组平均分为:" + groupAvg);
                        if (max < groupAvg) {
                                max = groupAvg;
                        }

                        // 班级的总分
                        sum += groupSum;
                        // 班级不及格的人数
                        count += groupcount;
                }
                // 这是班级平均分
                int clssAvg =sum /clsscount;
                System.out.println("班级中单组最高平均分为:" + max);
                System.out.println("班级中不及格人数为:" + count);
                System.out.println("班级总平均分为:" + clssAvg);
        }

作者: javaeeheima    时间: 2017-3-26 22:09
厉害了,我的妹子

作者: 泪桥    时间: 2017-3-26 22:11
当时做这道题时,麻烦死了!不过学过去好几天了,现在能理解了
作者: leijia    时间: 2017-3-26 22:15
泪桥 发表于 2017-3-26 22:11
当时做这道题时,麻烦死了!不过学过去好几天了,现在能理解了

思路清晰就能做出来,我怕再忘了赶紧保存!
作者: leijia    时间: 2017-3-26 22:17
javaeeheima 发表于 2017-3-26 22:09
厉害了,我的妹子

继续努力,一切都是值得的,嘿哈!
作者: 泪桥    时间: 2017-3-26 22:19
leijia 发表于 2017-3-26 22:15
思路清晰就能做出来,我怕再忘了赶紧保存!

嗯嗯,其实和数学应用题差不多,要学会套用公式
作者: leijia    时间: 2017-3-26 22:23
泪桥 发表于 2017-3-26 22:19
嗯嗯,其实和数学应用题差不多,要学会套用公式

是不是可以先用数学的思考方式去做java呢?
作者: 泪桥    时间: 2017-3-26 22:26
可以这么理解,思维方式挺重要,还是多做题,见的题型多了,就会做了
作者: leijia    时间: 2017-3-26 22:35
泪桥 发表于 2017-3-26 22:26
可以这么理解,思维方式挺重要,还是多做题,见的题型多了,就会做了

恩恩,好的,相互交流多学习,通过你我又多了一条新思路!棒棒哒!{:8_507:}
作者: 千千阙歌    时间: 2017-3-27 00:10
厲害了我的姐
作者: 土豪金    时间: 2017-3-27 00:12
赞一个!
作者: 扁舟    时间: 2017-3-27 07:12
真假,我都没做出来,你厉害

作者: 扁舟    时间: 2017-3-27 07:13
给我回复回复,攒点黑马币

作者: mrwalker    时间: 2017-3-27 11:51
看别人代码总觉得麻烦
作者: leijia    时间: 2017-3-27 23:53
mrwalker 发表于 2017-3-27 11:51
看别人代码总觉得麻烦

哈哈,我刚学不太会,如果大神有好的方法可以分享一下,大家都能看。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2