0
点赞
收藏
分享

微信扫一扫

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

栖桐 2022-04-02 阅读 71


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


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


1.案例介绍与演示

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


2.案例回顾

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

共三个步骤:

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

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

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


3.重构内容分析

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

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

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


代码实现:

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());

}

}


运行结果:

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

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

长按指纹,识别二维码,一键关注


举报

相关推荐

0 条评论