当前位置: 首页 > 知识库问答 >
问题:

查找类的特定实例?[副本]

益何平
2023-03-14

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

基于这个问题,我将如何创建一个新对象。。。我创建了一个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个答案

祁奇略
2023-03-14
 studentList.add(new Student(totalPoint, antalKurser, 
                                    programNamn, studNamn));

现在列表中有了学生对象。我想你大概有

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

在代码的某个地方。使用Student对象填充列表后,可以使用它查找html" target="_blank">实例。您需要决定使用什么标准进行搜索。你想找一个有特定名字的学生吗?是否要查找给定课程中的所有学生?你想找到分数超过一定数量的学生吗?

也许你想做每一件事。从挑选一个开始,然后拿一张纸写下你将如何进行搜索的想法。例如,假设您想找到一个名为“Bill”的学生。想象一下,给你一堆卡片,上面有关于学生的信息。这一叠卡片表示程序中的列表。你将如何在这堆卡片中搜索上面有比尔名字的卡片?用文字描述你需要采取的步骤。不要担心如何编写代码。编写计算机程序的第一步是将解决方案分解为几个小步骤。在您清楚地知道如何在物理世界中手工完成这项工作后,您可以将描述转换为Java代码。

支铭晨
2023-03-14

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

for (Student student : studentList) {
  if (student.getProgramName().equals("whatever")) {
    some match, now you know that this is the student you are looking for

换句话说:当您在某个集合中有对象,并且希望获取一个或多个具有特定属性的对象时。。。然后迭代集合并根据搜索条件测试每个条目。

或者,您可以“外部化”一个属性,并开始将对象放入地图中。

 类似资料:
  • 问题内容: 我正在开发一个应用程序(Quartz调度程序),其中有一个作业类负责实际执行工作,我们需要在Quartz调度程序中创建触发器时告知/传递作业类的名称。 我想为所有想使用该API的人提供一个扩展点(除了我将作为API的一部分提供的一些通用作业之外)。这个想法是创建一个(标记)接口,如果有人想将其类声明为调度程序作业类,那么他们要做的就是(声明)实现该接口。 我不确定如何找到合约之后的类(

  • 这是我的OWL文件的一部分: 如何仅从属性中获取

  • 问题内容: 也许这是一个愚蠢的问题,但是有没有办法找到所有返回特定类型的函数(在标准库或GOPATH中)? 例如,有许多函数使用io.Writer作为参数。现在,我想知道如何创建io.Writer,并且有很多方法可以做到这一点。但是,如何能轻松地找到所有方法而又无需猜测软件包并仔细查看所有方法以找到返回io.Writer(或我追随的其他任何类型)的方法? 编辑: 我应该扩展我的问题,以查找实现特定

  • 问题内容: 我不知道如何在下面编写查询。 我的桌子是 我需要在col2中同时存在两个参数的地方选择不同的col1 id。例如。如果我发送6,7应该发送给我5 问题答案: 尝试:

  • 如何返回特定日期所在的行号? 类似这样的事情:

  • 在纯JavaScript中,如何找到最接近具有特定类的树的元素的祖先?例如,在这样的树中: 然后我想要,如果我在上尝试这个并搜索。