2024-11-04 08:50:00
import java.util.*;
class Student { // 定义学生类
String name;
Student(String name) { // 构造方法
this.name = name;
}
// 重写equals方法,保证只要名字相等,则认为是同一个人.
public boolean equals(Object obj) {
if (name == null || obj == null) {
return false;
}
if (obj instanceof Student) {
Student sd = (Student) obj;
return name.equals(sd.name);
}
return false;
}
}
public class t2 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
Student[] stu = new Student[4];// 定义
ArrayList<Student> stus = new ArrayList<Student>();// ArrayList泛型,每个元素是1个学生。
System.out.println("输入4个学生姓名:");
// 初始化4个学生,并将他们添加进ArrayList
for (int i = 0; i < 4; i++) {
stu[i] = new Student(reader.nextLine());
stus.add(stu[i]);
}
System.out.println("列表中还有" + stus.size() + "个学生:");
for (int i = 0; i < stus.size(); i++) { // 遍历输出所有元素中学生的姓名
System.out.println("第" + i + "个学生: " + stus.get(i).name);
}
// 键盘输入一个学生姓名,判断该学生是否在列表中,如存在,则输出其在列表中的下标,然后将它从列表中移除。
System.out.println("输入要查找的人的姓名:");
Student s = new Student(reader.nextLine());
if (stus.contains(s)) {
System.out.println("找到" + s.name + ",下标为" + stus.indexOf(s));// 输出下标
stus.remove(s); // 从列表中移除该学生
System.out.println("删除" + s.name + "后,还有" + stus.size() + "个学生:");
for (int i = 0; i < stus.size(); i++) { // 遍历输出所有元素中学生的姓名
System.out.println("第" + i + "个学生: " + stus.get(i).name);
}
} else
System.out.println("列表中找不到" + s.name); // 如不存在则输出找不到。
}
}
效果
输入4个学生姓名:
天涯
明月
秋水
清泉
列表中还有4个学生:
第0个学生: 天涯
第1个学生: 明月
第2个学生: 秋水
第3个学生: 清泉
输入要查找的人的姓名:
天涯
找到天涯,下标为0
删除天涯后,还有3个学生:
第0个学生: 明月
第1个学生: 秋水
第2个学生: 清泉
2024-11-04 09:10:52
2024-11-04 02:51:03
填代码啊