一、题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、算法思想

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类型变量。
在进行姓名检测时,需要先定义两个变量flagindex
分别用于判断姓名是否存在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;
    }
}
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐