前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础-day09-重构随机点名器

Java基础-day09-重构随机点名器

作者头像
Java帮帮
发布2018-03-19 17:31:00
1.3K0
发布2018-03-19 17:31:00
举报
Java基础-day09-重构随机点名器

1.案例介绍与演示

随机点名的案例由之前简单的Person对象,重构为相对完整的Person对象并使用。

2.案例回顾

在全班同学中随机地打印出一名同学名字。

共三个步骤:

(1)存储全班同学(Person对象)

(2)打印全班同学每一个人的名字

(3)在班级总人数范围内,随机产生一个随机数索引,查找该随机数索引所对应的同学(Person对象),并通过该对象访问name属性

3.重构内容分析

将原来使用的简单Person类,封装为包装成员变量和成员方法的相对完整的Person类,并将所有访问属性的地方改为通过get/set方法访问。

代码实现:

代码语言:javascript
复制
package StudentJavaSEday09;
/*
自定义类型 人类
属性 
姓名  String
年龄  int 
性别  String
身高  double
是否热爱java  boolean
*/
public class Person {
 // 姓名
 String name;
 // 年龄
 int age;
 // 性别
 String sex;
 // 身高
 double height;
 // 是否喜欢java
 boolean isLoveJava;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
 public String getSex() {
 return sex;
 }
 public void setSex(String sex) {
 this.sex = sex;
 }
 public double getHeight() {
 return height;
 }
 public void setHeight(double height) {
 this.height = height;
 }
 public boolean isLoveJava() {
 return isLoveJava;
 }
 public void setLoveJava(boolean isLoveJava) {
 this.isLoveJava = isLoveJava;
 }
}
package StudentJavaSEday09;
/*
随机点名器
 用集合存储所有同学
 总览全班同学姓名
 随机点名其中一人,打印到控制台
 1.定义一个集合用来存储所有同学
 导包  
 创建对象 存储的是Person
 调用方法
 2.向集合中添加人
 3.遍历集合,依次获取每个人,打印每个人的名字
 4.随机点名 
 生成一个最大不超过集合最大索引的随机数   0 - 集合最大索引的一个随机数
 依据随机数得到集合中相对应的人,打印其名字
*/
//导入集合ArrayList
import java.util.ArrayList;
import java.util.Random;;
public class RandomName {
 public static void main(String[] args) {
 // 定义一个集合用来存储所有人
 ArrayList<Person> list = new ArrayList<Person>();
 // 向集合中添加人 创建Person对象 将Person添加到集合中
 Person p = new Person(); 
 p.setName("柳岩");
 Person p2 = new Person();
 p2.setName("唐嫣");
 Person p3 = new Person();
 p3.setName("金莲");
 list.add(p);
 list.add(p2);
 list.add(p3);
 System.out.println("-----------------------");
 // 遍历集合,依次获取每个人,打印每个人的名字
 for (int i = 0; i < list.size(); i++) {
 Person thisP = list.get(i);
 // 调用getName方法 获取每个人的名字
 System.out.println(thisP.getName());
 }
 System.out.println("-----------------------");
 // 随机点名
 Random r = new Random();
 // 生成一个最大不超过集合最大索引的随机数 0 - 集合最大索引的一个随机数
 int randomIndex = r.nextInt(list.size());
 // 依据随机数得到集合中相对应的人
 Person person = list.get(randomIndex);
 System.out.println("今天你答题:" + person.getName());
 }
}

运行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档