import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test3 { public static void main(String[] args){ List<Student> list = new ArrayList<Student>(); Student s1 = new Student(001,"张三",18,"男"); Student s2 = new Student(002,"李四",19,"男"); Student s3 = new Student(003,"赵九",17,"女"); list.add(s1); list.add(s2); list.add(s3); System.out.println("请输出每个学生的信息:"); for(Student h : list){ System.out.println(h.getId() +"," + h.getName() +","+ h.getAge()+","+h.getSex()); } Map<Integer,Student> map = new HashMap<Integer,Student>(); StudentEntry se1 = new StudentEntry(s1.getId(),s1); StudentEntry se2 = new StudentEntry(s2.getId(),s2); StudentEntry se3 = new StudentEntry(s3.getId(),s3); map.put(se1.getKey(),se1.getStu()); map.put(se2.getKey(),se1.getStu()); map.put(se3.getKey(),se1.getStu()); for(Map.Entry m : map.entrySet()){ System.out.println(m.getKey() +","+ m.getValue()); } } }请帮我修改
时间: 2024-03-10 15:44:27 浏览: 22
修改后的代码如下:
```
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test3 {
public static void main(String[] args){
List<Student> list = new ArrayList<Student>();
Student s1 = new Student(001,"张三",18,"男");
Student s2 = new Student(002,"李四",19,"男");
Student s3 = new Student(003,"赵九",17,"女");
list.add(s1);
list.add(s2);
list.add(s3);
System.out.println("请输出每个学生的信息:");
for(Student h : list){
System.out.println(h.getId() +"," + h.getName() +","+ h.getAge()+","+h.getSex());
}
Map<Integer,Student> map = new HashMap<Integer,Student>();
StudentEntry se1 = new StudentEntry(s1.getId(),s1);
StudentEntry se2 = new StudentEntry(s2.getId(),s2);
StudentEntry se3 = new StudentEntry(s3.getId(),s3);
map.put(se1.getKey(),se1.getStu());
map.put(se2.getKey(),se2.getStu()); // 修改se1.getStu()为se2.getStu()
map.put(se3.getKey(),se3.getStu()); // 修改se1.getStu()为se3.getStu()
for(Map.Entry<Integer, Student> m : map.entrySet()){ // 添加泛型
System.out.println(m.getKey() +","+ m.getValue().getName()); // 输出学生姓名
}
}
}
```
修改的内容如下:
1. 第22行、23行、24行,将重复使用的`se1.getStu()`修改为`se2.getStu()`和`se3.getStu()`,修正了map中存储的学生信息不正确的问题。
2. 第26行,添加了泛型,修正了编译警告。
3. 第27行,输出学生姓名,修正了输出不完整的问题。