Java language programming:List的使用

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

输出格式:
对每一对象,在一行中输出对象的信息。
对查询的人员,查到输出该人的信息,否则输出此人不存在。

输入样例:
例如:
(Test.1)
3
zhang 23
li 44
wang 33
li

(Test.2)
3
zhang 23
li 44
wang 33
may

输出样例:
例如:
(Testp.1)
Person [name=zhang, age=23]
Person [name=li, age=44]
Person [name=wang, age=33]
Person [name=li, age=44]

(Testp.2)
Person [name=zhang, age=23]
Person [name=li, age=44]
Person [name=wang, age=33]
此人不存在

import java.util.*;
class Person{
	private String name;
	private int 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;
	}
	Person(String name,int age){
		this.name=name;
		this.age=age;	
	}
	Person(){
	}
	public String toString() {
		return "Person [name="+getName()+", age="+getAge()+"]";
	}
}
class Main{
	public static void main(String args[]) {
		Scanner in=new Scanner(System.in);
		List list = new ArrayList();
		int flag=0;
		int n=in.nextInt();
		for(int i=0;i<n;i++) {
			String s=in.next();
			int a=in.nextInt();
			Person p=new Person(s,a);
			list.add(p);
		}
		String ne=in.next();
		for(int i=0;i<list.size();i++) {
			System.out.println(list.get(i));
			
		}
		for(int i=0;i<list.size();i++)
		{
			Person ps=(Person)list.get(i);
		if(ne.equals(ps.getName()))
		{
		    flag=1;
			System.out.println(ps);
		}
}
		if(flag==0) {
			System.out.println("此人不存在");
		}
	}
}
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Surgeon`

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值