刚学完面向对象,做一个随机点名系统
1.学生类
/**
* 学生类
*
* @author 小陈
* @version 创建时间:2021年12月20日下午5:08:22
*/
public class Student {
/**
* 学生名属性
*/
public String names;
/**
* 点名次数属性
*/
public int scount;
}
2.点名类
import java.util.Scanner;
/**
* 点名类
*
* @author 小陈
* @version 创建时间:2021年12月20日下午5:18:52
*/
public class dianming {
public void dianming(Student[] stus) {
// 创建扫描器
Scanner input = new Scanner(System.in);
// 声明变量是否继续
String answer = " ";
do {
// 生成数组索引范围内随机数,作为随机抽中学员的索引
int index = (int) (Math.random() * stus.length);
System.out.println("本次抽中学员为:" + stus[index].names);
// 抽中学员的次数对应也加1
stus[index].scount++;
System.out.println("是否继续抽取学员回答问题?(y/n)");
answer = input.next();
} while ("y".equals(answer));
System.out.println("谢谢使用!本次学员命中信息如下:");
// 输出结果
System.out.println("姓名\t命中次数");
for (Student stu : stus) {
System.out.println(stu.names + "\t" + stu.scount);
}
}
}
3.测试类
/**
* 测试类
*
* @author 小陈
* @version 创建时间:2021年12月20日下午6:47:49
*/
public class Test {
public static void main(String[] args) {
// 创建数组
Student[] stus = new Student[5];
// 赋值
stus[0] = new Student();
stus[0].names = "科比";
stus[1] = new Student();
stus[1].names = "詹姆斯";
stus[2] = new Student();
stus[2].names = "安东尼";
stus[3] = new Student();
stus[3].names = "保罗";
stus[4] = new Student();
stus[4].names = "韦德";
// 创建对象
dianming sm = new dianming();
// 用对象调用点名方法
sm.dianming(stus);
}
}
运行效果如下: