有一个人员数组,要在此数组中查询某个人是否存在,具体要求如下:
1.定义Person类:
a 属性 name和age
b 两个属性的getters 和setters
c 带参数构造方法,为name和age给值 以及无参构造方法,给name赋值为none,age赋值为1
d ToString方法:
public String toString() {
return “Person [name=” + name + “, age=” + age + “]”;
}
2.在main方法中,创建Person数组,数组长度通过键盘输入,数组每一个对象的name和age通过键盘给出,创建数组后,首先显示所有人员的信息,然后输入一个姓名,查询数组中有这个人么?如果有,输出这个人的信息,否则输出not found
输入格式:
请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数A和B。
输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。
输入样例:
在这里给出一组输入。例如:
3
tian 3
jerry 23
sun 22
su
3
may 51
sunny 23
lily 32
lily
输出样例:
在这里给出相应的输出。例如
Person [name=tian, age=3]
Person [name=jerry, age=23]
Person [name=sun, age=22]
not found
Person [name=may, age=51]
Person [name=sunny, age=23]
Person [name=lily, age=32]
查询结果:
Person [name=lily, age=32]
参考答案:(热乎的haha) ** **
import java.util.Scanner;
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;
}
public Person() {
this.setName("none");
this.setAge(1);
}
public Person(String name, int age) {
this.setName(name);
this.setAge(age);
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Person[] pp = new Person[n];
for (int i = 0; i < n; i++) {
pp[i] = new Person(sc.next(), sc.nextInt());
}
String fid = sc.next();
int flag = 0;
for (int i = 0; i < n; i++) {
System.out.println(pp[i].toString());
if (pp[i].getName().equals(fid) == true) {
flag = 1;
System.out.println("查询结果:");
System.out.println(pp[i].toString());
}
}
if (flag == 0)
System.out.println("not found");
sc.close();
}
}
求赞,不要白嫖,来赞一个吧