使用List存储个人信息
-通过控制台存储姓名、年龄、性别并打印
上代码
public class Person {
private String name;
private int age;
private char sex;
public Person() {
}
public Person(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;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
sex == person.sex &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age, sex);
}
@Override
public String toString() {
return name+"\t\t"+age+"\t\t"+""+sex;
}
}
接下来就开始存储个人信息了
import java.util.*;
public class PersonTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//创建集合存储Person
List <Person>list = new ArrayList<Person>();
System.out.println("您要添加几个人的信息:");
int num = in.nextInt();
//每循环一次添加一个对象到集合中
for (int a =1;a<=num;a++){
System.out.println("===添加第"+a+"个人的信息===");
//add传的是该对象的一个地址,在for循环中重新new一个对象即可
Person person = new Person();
//将person添加到集合中
list.add(insert(in,person));
}
//使用普通for循环遍历list
System.out.println("=======普通for循环========");
System.out.println("姓名\t\t年龄\t\t性别");
for(int i =0;i<list.size();i++){
System.out.println(list.get(i));
}
//使用foreach遍历list
System.out.println("=======曾强for循环========");
System.out.println("姓名\t\t年龄\t\t性别");
for (Person ob:list) {
System.out.println(ob);
}
//使用Iterator遍历list
System.out.println("=======曾强Iterator循环========");
System.out.println("姓名\t\t年龄\t\t性别");
Iterator iterator = list.iterator();
while (iterator.hasNext()){
Object object = iterator.next();
System.out.println(object);
}
}
//封装一个添加个人信息的方法(每调用一次就添加一个person)
private static Person insert(Scanner in,Person person){
System.out.println("请输入姓名:");
person.setName(in.next());
System.out.println("请输入年龄:");
person.setAge(in.nextInt());
System.out.println("请输入性别:");
person.setSex(in.next().charAt(0));
return person;
}
}