一、题目
二、算法思想
Person
类的代码如下,此处的代码较简单就不介绍了。
class Person{
private String name;
private int age;
public Person(String name,int age){//构造方法
this.name = name;
this.age = age;
}
public Person(){//构造方法
this.name = "none";
this.age = 1;
}
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;
}
}
在主程序中,定义一个
Person
类型的数组person
,数组长度为num
而num
是通过用户输入的一个int
类型变量。
在进行姓名检测时,需要先定义两个变量flag
和index
,
分别用于判断姓名是否存在line
数组中,姓名在数组中对应的下标。
在遍历完毕后,对flag
的值进行判断,根据索引index
输出对应的结果即可。
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();//数组长度
Person person[] = new Person[num];
for(int i=0;i<num;i++){//输入
person[i] = new Person(scanner.next(),scanner.nextInt());
}
String name = scanner.next();//需要检测的姓名
boolean flag = false;//该姓名是否已存在
int index=0;//标记对应的下标
for(int i=0;i<num;i++){//检测并输出信息
if(person[i].getName().equals(name)){//符合该姓名时
flag = true;
index = i;
}
System.out.println(person[i].toString());//输出信息
}
if(flag){//找到时
System.out.println("查询结果:");
System.out.println(person[index].toString());//输出信息
}
else{
System.out.println("not found");
}
}
}
三、代码
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();//数组长度
Person person[] = new Person[num];
for(int i=0;i<num;i++){//输入
person[i] = new Person(scanner.next(),scanner.nextInt());
}
String name = scanner.next();//需要检测的姓名
boolean flag = false;//该姓名是否已存在
int index=0;//标记对应的下标
for(int i=0;i<num;i++){//检测并输出信息
if(person[i].getName().equals(name)){//符合该姓名时
flag = true;
index = i;
}
System.out.println(person[i].toString());//输出信息
}
if(flag){//找到时
System.out.println("查询结果:");
System.out.println(person[index].toString());//输出信息
}
else{
System.out.println("not found");
}
}
}
class Person{
private String name;
private int age;
public Person(String name,int age){//构造方法
this.name = name;
this.age = age;
}
public Person(){//构造方法
this.name = "none";
this.age = 1;
}
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;
}
}