import java.util.ArrayList;
import java.util.Random;
/*随机点名器案例分析
* A: 随机点名器案例分析
全班同学中随机的找出一名同学,打印这名同学的个人信息。
我们对本案例进行分析,得出如下分析结果:
1.存储全班同学信息(姓名、年龄)
将容器换成集合,集合中存的是Student类型
2.打印全班同学每一个人的信息(姓名、年龄)
遍历集合
3.在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学信息(姓名、年龄)
随机点名器明确地分为了三个功能。如果将多个独立功能的代码写到一起,则代码相对冗长,我们可以针对不同的功能可以将其封装到一个方法中,将完整独立的功能分离出来。
而在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时,我们采用ArrayList集合来解决多个学生信息的存储问题
*/
class Student
{
String name;
int age;
}
public class Day06_4
{
//添加
public static void add(ArrayList<Student> array)
{
Student s1 = new Student();
Student s2 = new Student();
Student s3 = new Student();
Student s4 = new Student();
s1.name = "张三";
s1.age = 20;
s2.name = "李四";
s2.age = 21;
s3.name = "王五";
s3.age = 22;
s4.name = "赵六";
s4.age = 23;
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
}
//遍历
public static void printArrayList(ArrayList<Student> array)
{
for(int i = 0; i < array.size(); i++)
{
System.out.println("姓名为:"+array.get(i).name + "\n"
+"年龄是:" + array.get(i).age);
}
}
//随机
public static void randomStudent(ArrayList<Student> array)
{
Random ran = new Random();
int number = ran.nextInt(array.size());
Student s = array.get(number);
System.out.println(s.name + " " + s.age);
}
public static void main(String[] args)
{
// TODO 自动生成的方法存根
ArrayList<Student> array = new ArrayList<Student>();
add(array);
printArrayList(array);
randomStudent(array);
}
}