A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

需要的拿走,喜欢的评论支持一下!!!
附加题(选做)
------------------------------------------------------------------
第二题:分析以下需求,并用代码实现
        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);
        }

14 个回复

倒序浏览
回复 使用道具 举报
当时做这道题时,麻烦死了!不过学过去好几天了,现在能理解了
回复 使用道具 举报
泪桥 发表于 2017-3-26 22:11
当时做这道题时,麻烦死了!不过学过去好几天了,现在能理解了

思路清晰就能做出来,我怕再忘了赶紧保存!
回复 使用道具 举报
javaeeheima 发表于 2017-3-26 22:09
厉害了,我的妹子

继续努力,一切都是值得的,嘿哈!
回复 使用道具 举报
leijia 发表于 2017-3-26 22:15
思路清晰就能做出来,我怕再忘了赶紧保存!

嗯嗯,其实和数学应用题差不多,要学会套用公式
回复 使用道具 举报
leijia 中级黑马 2017-3-26 22:23:10
7#
泪桥 发表于 2017-3-26 22:19
嗯嗯,其实和数学应用题差不多,要学会套用公式

是不是可以先用数学的思考方式去做java呢?
回复 使用道具 举报
泪桥 高级黑马 2017-3-26 22:26:11
8#
可以这么理解,思维方式挺重要,还是多做题,见的题型多了,就会做了
回复 使用道具 举报
leijia 中级黑马 2017-3-26 22:35:38
9#
泪桥 发表于 2017-3-26 22:26
可以这么理解,思维方式挺重要,还是多做题,见的题型多了,就会做了

恩恩,好的,相互交流多学习,通过你我又多了一条新思路!棒棒哒!{:8_507:}
回复 使用道具 举报
千千阙歌 来自手机 中级黑马 2017-3-27 00:10:38
10#
厲害了我的姐
回复 使用道具 举报
赞一个!
回复 使用道具 举报
真假,我都没做出来,你厉害
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
给我回复回复,攒点黑马币
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
看别人代码总觉得麻烦
回复 使用道具 举报
mrwalker 发表于 2017-3-27 11:51
看别人代码总觉得麻烦

哈哈,我刚学不太会,如果大神有好的方法可以分享一下,大家都能看。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马