(1)编写Student类,只有String name与int age两个属性和他们的setter/getter方法,覆盖其hashCode与equals方法。 (2)在Util类中编写方法:List getRandomStudents(int n)随机生成n个学生的列表。 说明:调用“基础代码”中的Util.getRandomName (int min, int max)获取随机名字,调用public static int getRandomAge(int min, int max)生成随机年龄。
时间: 2023-06-10 08:05:16 浏览: 114
(1)好的,您的第一个问题是关于编写一个Student类的,只有String类型的name属性和int类型的age属性,以及它们的setter和getter方法,同时还需要覆盖该类的hashCode方法和equals方法。可以参考以下代码:
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Student student = (Student) obj;
return age == student.age && Objects.equals(name, student.name);
}
}
(2)对于您的第二个问题,您需要在Util类中编写一个方法:List getRandomStudents(int n),来随机生成n个学生的列表,并需要注意到调用Util.getRandomName(int min, int max)方法来生成随机的名字。这个方法示例如下:
public class Util {
//获取随机姓名
public static String getRandomName(int min, int max) {
Random random = new Random();
String[] firstName = {"张", "赵", "李", "王", "陈", "刘", "周", "林", "许", "程"};
String[] lastName = {"伟", "芳", "娜", "秋", "霞", "超", "亚", "宇", "洋", "钰"};
int firstIndex = random.nextInt(firstName.length - 1);
int lastIndex = random.nextInt(lastName.length - 1);
String name = firstName[firstIndex] + lastName[lastIndex];
return name;
}
// 获取随机年龄
public static int getRandomAge(int min, int max) {
Random random = new Random();
return random.nextInt(max - min + 1) + min;
}
//生成n个随机学生,并封装到List中返回
public static List<Student> getRandomStudents(int n) {
List<Student> students = new ArrayList<>();
for (int i = 0; i < n; i++) {
int age = getRandomAge(18, 30);
String name = getRandomName(0, 9);
Student student = new Student(name, age);
students.add(student);
}
return students;
}
}
这样,通过调用Util.getRandomStudents(int n)方法,即可生成指定数量的随机学生列表。
阅读全文