第六章案例 随机点名器的改进

案例介绍:

l  存储所有同学姓名

l  总览全班同学姓名

随机点名其中一人,打印到控制台


实现代码:

/*
    描述学生事物的类
 属性: 姓名和年龄
学生类型的变量,存储到集合中
 
*/
public class StudentName{
String name;
int age;
}


/*
   随机点名器,集合改进 (学生的姓名和年龄)
   现实中有学生这个事物,使用定义类的形式,描述学生事物
   属性: 姓名,年龄
   
   姓名存储了数组, 将容器换成是集合
   String[] s = {"",""};
   集合中,存储的是学生的姓名吗?  应该存储Student类型
   
   存储学生:
      学生类型,存储到集合中
   总览: 遍历集合
   随机: 随机数,作为索引,到集合中找到元素
   三个功能,共享的数据,集合容器,
   定义三个方法,必须参数传递集合
*/
import java.util.ArrayList;
import java.util.Random;
public class CallName{
public static void main(String[] args){
//定义集合,存储的是StudentName类型变量
ArrayList <StudentName> array = new ArrayList<StudentName>();
//调用添加方法
add (array);
//调用遍历集合
printArrayList(array);

randomStudentName(array);
}
/*
 随机数,当作集合的索引,到集合中找到元素
*/
public static void randomStudentName(ArrayList<StudentName> array ){
Random r = new Random();
int number = r.nextInt( array.size());
//随机数,索引,到集合中get
StudentName s = array.get(number);
System.out.println( s.name +"  "+s.age);
}

/*
   总览学生的信息,遍历集合
*/
public static void printArrayList(ArrayList<StudentName> array){
for(int i = 0 ; i < array.size();i++){
//存储集合的时候, 集合.add(sn1)  sn1 是StudentName类型变量
//获取的时候,集合.get方法,获取出来的是什么, 还是StudentName类型变量
StudentName s = array.get(i);
System.out.println(s.name+"  "+s.age);
}
}

/*
  定义方法,实现存储学生的姓名和年龄
  创建StudentName类型变量,存储到集合中
*/
public static void add (ArrayList<StudentName> array){
//创建StudentName类型变量
StudentName sn1 = new StudentName();
StudentName sn2 = new StudentName();
StudentName sn3 = new StudentName();
StudentName sn4 = new StudentName();
StudentName sn5 = new StudentName();

sn1.name = "张三1";
sn1.age = 201;

sn2.name = "张三2";
sn2.age = 202;

sn3.name = "张三3";
sn3.age = 203;

sn4.name = "张三4";
sn4.age = 204;

sn5.name = "张三5";
sn5.age = 205;

//将StudentName变量,存储到集合中
array.add(sn1);
array.add(sn2);
array.add(sn3);
array.add(sn4);
array.add(sn5);
}
}

运行结果:

                      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值