1.有5人的类Person,分别有:名字、性别、年龄、家庭住址、年龄(私有);构造方法带参,写属性的get方法。PersonTest采用HashMap将序号和Person对象进行存储(如hashMap.put(i+1, person);)。从键盘输入五人的基本信息。 (1)用迭代器遍历HashMap (2)从键盘上输入序号查找此人的信息。
时间: 2024-02-23 12:57:47 浏览: 69
从键盘输入一个18位或15位的身份证号码,显示器上输出年龄、性别、省份信息。
好的,我来解答你的问题。
这是一个Java面向对象的编程问题,需要用到HashMap和迭代器。以下是代码实现:
Person类:
```java
public class Person {
private String name;
private String gender;
private int age;
private String address;
public Person(String name, String gender, int age, String address) {
this.name = name;
this.gender = gender;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public String getAddress() {
return address;
}
}
```
PersonTest类:
```java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class PersonTest {
public static void main(String[] args) {
HashMap<Integer, Person> hashMap = new HashMap<>();
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入第" + (i + 1) + "个人的信息:");
System.out.print("姓名:");
String name = scanner.next();
System.out.print("性别:");
String gender = scanner.next();
System.out.print("年龄:");
int age = scanner.nextInt();
System.out.print("家庭住址:");
String address = scanner.next();
Person person = new Person(name, gender, age, address);
hashMap.put(i + 1, person);
}
System.out.println("HashMap中的元素为:");
Iterator<Integer> iterator = hashMap.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
Person value = hashMap.get(key);
System.out.println(key + ":" + value.getName() + " " + value.getGender() + " " + value.getAge() + " " + value.getAddress());
}
System.out.print("请输入要查找的人的序号:");
int index = scanner.nextInt();
if (hashMap.containsKey(index)) {
Person person = hashMap.get(index);
System.out.println("第" + index + "个人的信息为:" + person.getName() + " " + person.getGender() + " " + person.getAge() + " " + person.getAddress());
} else {
System.out.println("查无此人!");
}
}
}
```
运行程序后,可以依次输入5个人的信息,然后通过迭代器遍历HashMap,最后通过输入序号查找对应的人的信息。
阅读全文