1.键盘录入班级人数,并用随机数产生成绩
案例描述
第一题:分析以下需求,并用代码实现
1.键盘录入班级人数
2.根据录入的班级人数创建数组
3.利用随机数产生0-100的成绩(包含0和100)
4.要求:
(1)打印该班级的不及格人数
(2)打印该班级的平均分
(3)演示格式如下:
请输入班级人数:
键盘录入:100
控制台输出:
不及格人数:19
班级平均分:87
eclipse展示
具体实现代码
package StudyJavaSEday04;
import java.util.Random;
import java.util.Scanner;
/**
* 1.键盘录入班级人数
* 2.根据录入的班级人数创建数组
* 3.利用随机数产生0-100的成绩(包含0和100)
* 4.要求:
* (1)打印该班级的不及格人数
* (2)打印该班级的平均分
* (3)演示格式如下:
* 请输入班级人数:
* 键盘录入:100
* 控制台输出:
* 不及格人数:19
* 班级平均分:87
* @author 奋斗蒙
*
*/
public class ShuZudaima01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入班级人数:");
int Renshu = sc.nextInt();
int [] Student = new int [Renshu];
//不及格人数统计初始化
int count = 0;
//学生总分初始化
int source = 0;
Random random = new Random();
for (int i = 0; i < Student.length; i++) {
Student[i] = random.nextInt(101);
System.out.println(Student[i]);
if (Student[i]<60) {
count++;
}
source+=Student[i];
}
System.out.println("不及格人数:"+count);
System.out.println("班级平均分:"+source/Student.length);
}
}
运行结果
2.键盘录入班级总共多少组?以及每组的学生数量
案例描述
第二题:分析以下需求,并用代码实现
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
eclipse展示
具体实现代码
package StudyJavaSEday04;
import java.util.Random;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入班级总组数:");
int a = sc.nextInt();
System.out.println("请输入班级中每组的人数:");
int b = sc.nextInt();
int[][] arr = new int[a][b];
Random r = new Random();
int avg = 0;
for (int i = 0; i < arr.length; i++) {
int count = 0;
int source = 0;
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = r.nextInt(101);
if (arr[i][j] < 60) {
count++;
}
source += arr[i][j];
}
int avg1 = source / arr[i].length;
System.out.println("第" + (i + 1) + "组不及格人数为:" + count + "人");
System.out.println("第" + (i + 1) + "组平均分为:" + avg1);
if (avg1 > avg) {
avg = avg1;
}
}
System.out.println("班级中单组最高平均分为:" + avg);
}
}
运行结果
3.随机点名器
案例描述
要做的随机点名器,它具备以下3个内容:
存储所有武将姓名 --> String[]
总览武将 --> 遍历数组
随机点名其中一人,打印到控制台 --> Random类
eclipse展示
具体实现代码
package StudyJavaSEday04;
/**
* 分析:
* 要做的随机点名器,它具备以下3个内容:
* 存储所有武将姓名 --> String[]
* 总览武将 --> 遍历数组
* 随机点名其中一人,打印到控制台 --> Random类
* @author 奋斗蒙
*/
import java.util.Random;
public class RandomName {
public static void main(String[] args) {
// 存储所有武将姓名 --> String[]
String[] names = { "赵云", "张飞", "关羽", "黄忠", "马超","魏延","廖化","张苞","关平","关兴","姜维",};
// 总览武将 --> 遍历数组
System.out.println("=============所有武将==================");
for (int i = 0; i < names.length; i++) {
System.out.println("第" + (i + 1) + "武将的姓名是: " + names[i]);
}
// 随机点名其中一人,打印到控制台 --> Random类
Random r = new Random();
// System.out.println(r);//java.util.Random@1e58cb8
// 在数组的范围内随机产生一个数
int number = r.nextInt(names.length);// names.length = 5
// 通过产生的随机数,在数组中查找对应的元素(索引)
String name = names[number];// number 0,1,2,3,4
System.out.println("============================================");
System.out.println("要出战的武将是: " + name);
}
}
运行结果