黑马程序员技术交流社区

标题: 关于输入班级人数输出班级不及格人数和班级人数的问题.... [打印本页]

作者: zhangkobe210    时间: 2017-4-30 07:21
标题: 关于输入班级人数输出班级不及格人数和班级人数的问题....
题目:
1.键盘录入班级人数
        2.根据录入的班级人数创建数组
        3.利用随机数产生0-100的成绩(包含0和100)
        4.要求:
                (1)打印该班级的不及格人数
                (2)打印该班级的平均分
                (3)演示格式如下:
                        请输入班级人数:
                        键盘录入:100
                        控制台输出:
                                不及格人数:19
                                班级平均分:87


[AppleScript] 纯文本查看 复制代码
package com.heimachengxuyuan;

import java.util.Random;
import java.util.Scanner;

/*第一题:分析以下需求,并用代码实现
        1.键盘录入班级人数
        2.根据录入的班级人数创建数组
        3.利用随机数产生0-100的成绩(包含0和100)
        4.要求:
                (1)打印该班级的不及格人数
                (2)打印该班级的平均分
                (3)演示格式如下:
                        请输入班级人数:
                        键盘录入:100
                        控制台输出:
                                不及格人数:19
                                班级平均分:87*/
public class Homework303{
        public static void main(String[] args){
                Scanner sc = new Scanner(System.in);    //创建一个键盘录入对象
                System.out.println("Please enter the number of class:");
                int number = sc.nextInt();
               
                Random random = new Random();  //创建一个新的随机数生成器对象
                int[] scoreOfClass = new int[number];
                int score = 0;
                int count = 0;
                for(int i=0;i<scoreOfClass.length;i++){
                        scoreOfClass = random.nextInt(101); // scoreOfClass = random.nextInt(101); 101表示输出的整数最高是101但不包括101
                System.out.println("第"+(i+1)+"个成绩是:"+scoreOfClass);
                        if(scoreOfClass<60)
                                count++;
                        score += scoreOfClass;
                }
                System.out.println("不及格人数:"+count);
                System.out.println("班级平均分:"+score/(double)number);
               
        }
}



关于这个题目的主要点在于:
1.生成随机整数作为学生的成绩
这个时候就需要创建一个随机整数生成器对象 用Random实现
2.这个生成器怎么写,类似于创建键盘输入对象
import java.util.Scanner;
Scanner sc = new Scanner();
int number = sc.nextInt();

这个是创建随机数生成器对象,并把随机数字存在数组里面
import.java.util.Random;
Random random = new Random();
int[] theScoreOfClass = new int[number];
for(int i=0;i<theScoreOfClass.length;i++){
    theScoreOfClass = random.nextInt();
}
利用遍历把数据存在数组里面


作者: 風中雨来    时间: 2017-4-30 07:44
随机数应该是nextInt(100)+1

作者: 654788808    时间: 2017-4-30 08:20
我就看看
作者: fly2017    时间: 2017-4-30 08:34
不错,注释再补充些就好了

作者: 不忘初心.    时间: 2017-4-30 18:54
風中雨来 发表于 2017-4-30 07:44
随机数应该是nextInt(100)+1

这样加一就是1-100包括100的随机数了

作者: 星尘起航    时间: 2017-4-30 20:21
不忘初心. 发表于 2017-4-30 18:54
这样加一就是1-100包括100的随机数了

好学生没考过0分吧

作者: 迪卡bas    时间: 2017-5-1 01:18
星尘起航 发表于 2017-4-30 20:21
好学生没考过0分吧

那就是next(101)。

作者: 齐齐木    时间: 2017-5-1 09:45
这是第三天的题吧

作者: 風中雨来    时间: 2017-5-1 11:54
不忘初心. 发表于 2017-4-30 18:54
这样加一就是1-100包括100的随机数了

后面加1是表示0到100的随机数

作者: 不忘初心.    时间: 2017-5-2 08:59
風中雨来 发表于 2017-5-1 11:54
后面加1是表示0到100的随机数

括号里是101才是0-100的随机数

作者: 不忘初心.    时间: 2017-5-2 08:59
星尘起航 发表于 2017-4-30 20:21
好学生没考过0分吧

真的,不信你说下5-10的随机数怎么弄

作者: 星尘起航    时间: 2017-5-2 10:00
不忘初心. 发表于 2017-5-2 08:59
真的,不信你说下5-10的随机数怎么弄

是楼主不信

作者: 星尘起航    时间: 2017-5-2 10:01
不忘初心. 发表于 2017-5-2 08:59
真的,不信你说下5-10的随机数怎么弄

ra.nextInt(6)+5;

作者: 晴天Neal    时间: 2017-5-4 19:57
错了吧,这样只把不及格分数加起来了
作者: 王琛    时间: 2017-5-4 20:20
生成随机数
作者: newu    时间: 2017-5-5 08:15
好帖,赞一个,顶楼主

作者: unscdf117    时间: 2017-5-13 03:07
可以有             。
作者: 梦梦哥    时间: 2017-5-14 12:14
基础班的题就不要发了吧。。。几个月后你会发现你发的东西很是尴尬





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