繁体   English   中英

二维数组使用扫描仪,输入; 命名年龄性别并找到最年长的人

[英]2D array using scanner, input ; Name Age Gender and to find the Oldest Person

类似这样的东西,但使用二维数组输入姓名、年龄、性别并找到用户输入的最年长的人。

List<String> list = new ArrayList<String>();
Scanner stdin = new Scanner(System.in);

do {
    System.out.println("Current list is " + list);
    System.out.println("Add more? (y/n)");
    if (stdin.next().startsWith("y")) {
        System.out.println("Enter : ");
        list.add(stdin.next());
    } else {
        break;
    }
} while (true);

System.out.println("List is " + list);
String[] arr = list.toArray(new String[0]);
System.out.println("Array is " + Arrays.toString(arr));

您应该创建一个Person类,该类将具有诸如agenamegender类的属性,并且应该实现Comparable接口。

人物类

class Person implements Comparable{
    String name;
    String gender;
    int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public int compareTo(Object arg0) {
        Person p = (Person)arg0;
        return p.getAge() - this.getAge();
    }


}

主班

List<Person> personList = new ArrayList<Person>();

    while(true) {
        Person p =new Person();
        Scanner stdin = new Scanner(System.in);
        System.out.println("Enter name :");
        p.setName(stdin.next());
        System.out.println("Enter gender :");
        p.setGender(stdin.next());
        System.out.println("Enter age :");
        p.setAge(stdin.nextInt());
        personList.add(p);
        System.out.println("Do you want to add more ?(Y/N)");
        if(stdin.next().equalsIgnoreCase("N")) {
            break;
        }
    }
    Collections.sort(personList);
    System.out.println("The oldest person is " + personList.get(0).getName());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM