案例介绍:
使用新的方法来实现随机点名器
1. 存储所有同学姓名
2. 总览全班同学姓名
3. 随机点名其中一人,打印到控制台
实现代码:
/**
* 学生信息类
*/
publicclass Student {
private String name; // 姓名
privateintage; //年龄
public String getName() {
return name;
}
publicvoid setName(String name) {
this.name = name;
}
publicint getAge() {
return age;
}
publicvoid setAge(int age) {
this.age = age;
}
}
上述代码中,对学生信息(姓名、年龄)进行了封装。这样做的好处在于,以后只要找到这名学生,就能够知道他的每项个人信息了。
public staticvoid main(String[] args) {
ArrayList<Student> list = new ArrayList<Student>(); //1.1创建一个可以存储多个同学名字的容器
/*
* 1.存储全班同学信息
*/
addStudent(list);
/*
* 2.打印全班同学每一个人的信息(姓名、年龄)
*/
printStudent(list);
/*
* 3.随机对学生点名,打印学生信息
*/
randomStudent(list);
}
/**
* 1.存储全班同学名字
*/
public staticvoidaddStudent(ArrayList<Student> list) {
//键盘输入多个同学名字存储到容器中
Scanner sc= new Scanner(System.in);
for(int i= 0; i < 3; i++){
//创建学生
Students = newStudent();
System.out.println("存储第"+i+"个学生姓名:");
String name = sc.next();
s.setName(name);
System.out.println("存储第"+i+"个学生年龄:");
int age = sc.nextInt();
s.setAge(age);
//添加学生到集合
list.add(s);
}
}
/**
* 2.打印全班同学每一个人的信息(姓名、年龄)
*/
public staticvoid printStudent(ArrayList<Student> list) {
for(int i= 0; i < list.size();i++) {
Students = list.get(i);
System.out.println("姓名:"+s.getName()+",年龄:"+s.getAge());
}
}
/**
* 3.随机对学生点名,打印学生信息
*/
public staticvoid randomStudent(ArrayList<Student> list) {
//在班级总人数范围内,随机产生一个随机数
intindex = newRandom().nextInt(list.size());
//在容器(ArrayList集合)中,查找该随机数所对应的同学信息(姓名、年龄)
Student s= list.get(index);
System.out.println("被随机点名的同学:"+s.getName()+ ",年龄:" + s.getAge());
}