找到类的具体实例?

时间:2017-11-16 14:36:29

标签: java object arraylist

我刚开始学习java,我正在尝试创建一个注册学生的应用程序。

基于这个问题how-would-i-create-a-new-object...我创建了一个while循环来创建一个类的实例。

    public class RegStudent {

    ArrayList<Student> studentList = new ArrayList<>();

    Scanner input = new Scanner(System.in);

    public void reggaStudent(int start) {

        while (start != 0) {
            String programNamn, studNamn;   
            int totalPoint, antalKurser;

            System.out.println("Vad heter programmet?");
            programNamn = input.nextLine();
            System.out.println("Vad heter studenten");
            studNamn = input.nextLine();
            System.out.println("Hur många poäng har studenten?");
            totalPoint = input.nextInt();
            System.out.println("Hur många kurser är studenten registrerad på?");
            antalKurser = input.nextInt();

            // Add student to list of students
            studentList.add(new Student(totalPoint, antalKurser, 
                                        programNamn, studNamn));
            System.out.println("Vill du registrera in en fler studenter? "
                                + "Skriv 1 för ja och 0 för nej");
            start = input.nextInt();
            input.nextLine();
        } // End of whileloop

    }
}

课程是:

public class Student {
    private int totalPoint;
    private int antalKurser;
    private String programNamn;
    private String studNamn;
    private static int counter;

    public Student(int totalPoint, int antalKurser, String program, String studNamn) {

        this.totalPoint = totalPoint;
        this.antalKurser = antalKurser;
        this.programNamn = program;
        this.studNamn = studNamn;
        counter++;
    }

    public int getTotalPoint() {
        return totalPoint;
    }

    public void setTotalPoint(int totalPoint) {
        this.totalPoint = totalPoint;
    }

    public int getAntalKurser() {
        return antalKurser;
    }

    public void setAntalKurser(int antalKurser) {
        this.antalKurser = antalKurser;
    }

    public String getProgramNamn() {
        return programNamn;
    }

    public void setProgramNamn(String programNamn) {
        this.programNamn = programNamn;
    }

    public String getStudNamn() {
        return studNamn;
    }

    public void setStudNamn(String studNamn) {
        this.studNamn = studNamn;
    }
    public static int getCount(){

        return counter;
    }
    @Override
    public String toString() {

        return String.format(" Namn: %s, Program: %s, Antal poäng: %d, "
        + "Antal kurser: %d\n ", studNamn, programNamn, totalPoint, antalKurser);
    }

}

如何在特定实例中获取和设置实例变量?我找到了实例。

我知道这可能是糟糕的设计,但在这种情况下,我会欣赏一些关于如何解决我希望实例化未知数量学生的案例的意见。

我添加了一个计数器,只是为了看到我实际创建了一些类的实例。

2 个答案:

答案 0 :(得分:2)

您只需查询某些属性的对象,例如:

0.87

换句话说:当某个集合中有对象,并且想要获取具有某些属性的一个/多个对象时......然后迭代集合并根据搜索条件测试每个条目。

或者,你可以&#34;外化&#34;例如,一个属性,并开始将对象放入地图中。

答案 1 :(得分:0)

twig.url:
    class: AppBundle\Twig\Extension\AppExtension
    tags:
        - { twig.extension }

您现在在列表中拥有 studentList.add(new Student(totalPoint, antalKurser, programNamn, studNamn)); 个对象。我假设你有像

这样的东西
Student

代码中的某处。使用List<Student> studentList = new ArrayList<>(); 对象填充列表后,可以使用它来查找实例。您需要确定用于搜索的标准。你想找一个具有特定名字的学生吗?你想找到特定课程的所有学生吗?你想找到分数超过一定数的学生吗?

也许你想要做到这些。首先选择一个,然后得到一张纸,写出一些关于如何进行搜索的想法。例如,假设您想要找到名为&#34; Bill&#34;的学生。想象一下,你被给了一堆卡片,上面有关于学生的信息。这堆卡片代表程序中的列表。你怎么用这个名字在卡片上搜索这张名片呢?描述您需要采取单词的步骤。不要担心你将如何编码。编写计算机程序的第一步是将解决方案分解为小步骤。在您清楚了解如何在物理世界中手动执行此操作之后,您可以将描述转换为Java代码。