> 文档中心 > 7-1 对象数组 (100 分)

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"); }    }}