2、List的使用

本题练习列表的使用。
定义 Person 类
定义私有属性 String name,int age, 使用 Eclipse 生成每个属性 setter 、getter,有参 Person(String name,int age) 、无参 构造方法,toString 方法。
定义 Main 类,在 main 方法中
定义 List list = new ArrayList();
用键盘给变量 n 赋值
生成 n 个 Person 对象并添加到列表中,该 Person 的 name 和 age 通过键盘给出
循环列表,输出列表所有 Person 对象信息(调用 toString 方法)
输入一个字符串表示姓名,判断该字符串表示的 Person 对象在List中是否存在,如果存在,输出该Person,否则输出此人不存在。
输入格式:
先一行输入n表示对象个数,然后每行输入一个Person对象的name和age 一行输入一个人的姓名对其进行查询
输出格式:
对每一对象,在一行中输出对象的信息。 对查询的人员,查到输出该人的信息,否则输出此人不存在。
输入样例:
在这里给出一组输入。例如:

3
zhang 23
li 44
wang 33
li3
zhang 23
li 44
wang 33

may 输出样例:
在这里给出相应的输出。例如:

Person [name=zhang, age=23]
Person [name=li, age=44]
Person [name=wang, age=33]
Person [name=li, age=44]Person [name=zhang, age=23]
Person [name=li, age=44]
Person [name=wang, age=33]
此人不存在

答案

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		ArrayList<Person>list=new ArrayList<>();
		
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		
		for(int i=0;i<n;i++) {
			Person p=new Person(in.next(),in.nextInt());
			list.add(p);
			System.out.println(p.toString());
		}
		String l=in.next();
		int i;
		for(i=0;i<list.size();i++) {
			if(list.get(i).getName().equals(l)) {
				System.out.println(list.get(i).toString());
				break;
			}
				
		}
		if(i==list.size()) {
			System.out.println("此人不存在");
		}
	}

}
class Person{
	private String name;
	private int age;
	
	public Person(String name,int age) {
		this.age=age;
		this.name=name;
	}
	public Person() {
		this.age=age;
		this.name=name;
	}
	
	
	
	@Override
	public String toString() {
		return "Person [name=" + name + ", 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;
	}
	
}