【问题标题】:Need help making ArrayList需要帮助制作 ArrayList
【发布时间】:2020-06-10 23:44:53
【问题描述】:

我正在尝试使用至少六个 Person 对象创建一个 ArrayList,这些对象将包含用户输入的姓名和年龄,从而导致信息按字母顺序打印出来。

包含人员的数组列表:

import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;

public class Categorization  
{
    public static Scanner input = new Scanner(System.in);
    public static void main(String[] args) 
    {
        List<Person> people = new ArrayList<Person>();

        System.out.println("Please enter a name " + name); // Can't return values
        String nameEntry = input.toString();

        System.out.println("Please enter an age " + age);
        int ageEntry = input.nextInt();

    }
  }

我不熟悉创建类,感觉这是我的大部分错误发生的地方。

    class Person
    {
        private String name;
        private int age;

        public Person(String name, int age)
        {
            this.name = name;
            this.age = age;

        }

试图返回姓名和年龄,但他们不会返回公共类

        public String getName() 
        {
            return name;
        }

        public int getAge()
        {
            return age;
        }

    }

}

【问题讨论】:

  • 在第一个代码块中,您没有创建任何人,但除此之外它看起来还可以。
  • System.out.println 句子中,您使用nameage 而不先声明它。您需要在使用它们之前存储这些值。之后,您可以创建 Person 对象,例如 Person person = new Person(nameEntry, ageEntry); 并打印值 System.out.println("The name entry was "+person.getName());

标签: java user-interface arraylist


【解决方案1】:

你可以试试这个:

public class Categorization {

    public static Scanner input = new Scanner(System.in);
    public static void main(String[] args) {

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

        for(int i=1; i<=6; i++) {

            System.out.print("Please enter name for person " + i + " : ");
            String nameEntry = input.next();

            System.out.print("Please enter an age for person " + i + " : ");
            int ageEntry = input.nextInt();
            Person obj = new Person(nameEntry, ageEntry);
            people.add(obj);
        }

        System.out.println("List of entries you entered: ");
        for(Person obj: people) {
            System.out.println("Name: " + obj.getName() + " " + "Age: " + obj.getAge());
        }
    }

}

输出:

您需要使用new 关键字创建一个Person 对象来存储相应的值,然后最后将其添加到人员列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    相关资源
    最近更新 更多