7-1 对象数组 (100 分)
有一个人员数组,要在此数组中查询某个人是否存在,具体要求如下:
1、定义Person类:
a、私有属性 name和age
b、两个属性的getters 和setters
c、带参数构造方法,为name和age传值
d、ToString方法
public String toString() { return "Person [name=" + name + ", age=" + age + "]";}
2、在主类main方法中创建Person数组,数组长度通过键盘输入,数组每一个对象的name和age通过键盘输入;创建数组后,首先显示所有人员的信息,然后输入一个姓名,查询数组中是否有这个人,如果有则输出这个人的信息,否则输出not found。
输入格式:
第一行输入数组长度n;
从第二行开始依次输入每个人的姓名和年龄;
最后一行输入要查询的人的姓名。
输出格式:
与样例一致。
输入样例1:
3tian 21jerry 23sun 22su
输出样例1:
Person [name=tian, age=21]Person [name=jerry, age=23]Person [name=sun, age=22]查询结果:not found
输入样例2:
3may 51sunny 23lily 32lily
输出样例2:
Person [name=may, age=51]Person [name=sunny, age=23]Person [name=lily, age=32]查询结果:Person [name=lily, age=32]
输入样例3:
4lily 51Emily 30sunny 23lily 32lily
输出样例3:
Person [name=lily, age=51]Person [name=Emily, age=30]Person [name=sunny, age=23]Person [name=lily, age=32]查询结果:Person [name=lily, age=51]Person [name=lily, age=32]
代码实现 :
import java.util.Scanner;class Person { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Person(String name, Integer age) { this.name = name; this.age = age; } public Person() { } public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}public class Main{ public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int a=scanner.nextInt(); Person person[]=new Person[a]; for(int i=0;i<a;i++){ person[i]=new Person(scanner.next(),scanner.nextInt()); } String TargetName=scanner.next(); int ans=0; int ans2=0; int res=0; for(int i=0;i<a;i++){ System.out.println(person[i].toString()); if(TargetName.equals(person[i].getName())){ res++; if(res==1){ ans=i; } if(res==2){ ans2=i; } } } if(res==1){ System.out.println("查询结果:"); System.out.println(person[ans].toString()); } else if(res==2){ System.out.println("查询结果:"); System.out.println(person[ans].toString()); System.out.println(person[ans2].toString()); } else { System.out.println("查询结果:"); System.out.println("not found"); } }}