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

无法检查arraylist是否有变量或测试类[重复]

许琛
2023-03-14

在我制作的一个程序中,我有3个班,一个学生班,一个c班和一个测试班。在我的学生班上一切都很好,但是在我的c班我有几个问题。在我的方法removeStudent()中,我无法检查arraylist是否包含变量nMec,因为Student是预期的类型,但我仍然需要检查它是否包含输入(nMec),并删除包含它的Student元素。这在方法listStudentNameFE()中几乎是相同的问题,尽管使用了不同的变量。最后,我甚至不能在我的测试类中使用这个类的对象c。非常感谢您的帮助!

public class C {
    ArrayList<Student> c;
    public void newStudent(String name, int numMec){
        c.add(new Student(name, numMec, "Ordinary"));
    }
    public void removeStudent(int numMec){
        if(c.contains(numMec)){
            c.remove(Student);
        }
    }
    public void listStudentNameFE(String name){
        for(Student Student : c){
            if(c.contains(name)){
                System.out.println(Student);
            }
        }
    }
    

public class Student{
    public String name;
    int numMec;
    public String status;
    public Aluno(String name, int numMec, String status){
        this.name = name;
        this.numMec = numMec;
        this.status = status;
    }
    

共有1个答案

鲜于阳成
2023-03-14

要回答为什么这不起作用:这是因为您的ArrayList学生类型,因此它永远不会包含int,即numMec

要么重构一些东西,要么将其更改为:

public void removeStudent(int numMec){
    for (Student student : c) {
        if (c.numMec == numMec) {
            c.remove(student);
        }
    }
}

同样,另一个也要遵循同样的原则:

public void listStudentNameFE(String name){
    for(Student student : c){
        if(student.name.equals(name)){
            System.out.println(student);
        }
    }
}
 类似资料:
  • 问题内容: 我想知道如何检查变量是否是类(不是实例!)。 我试图使用该函数来执行此操作,但我不知道类将具有哪种类型。 例如,在以下代码中 我试图用 ??? 代替“ ” ,但我意识到这是python中的关键字。 问题答案: 更好的是:使用该功能。

  • 问题内容: 假设我有任何变量,定义如下: 我想要一个检查变量类型是否像函数一样的函数。即: 如何检查变量是否为上述定义的类型? 问题答案: 当然,下划线的方式效率更高,但是当效率不是问题时,最好的检查方法是写在@Paul Rosania链接的下划线页面上。 受下划线启发,最终的isFunction函数如下:

  • 我有一个变量,我想将它转换为int,如果它是None,则返回None。 有没有做以下事情的简略方法:

  • 问题内容: 有什么最短的方法吗? 如果我是正确的,应该用? 有可能,并且在一行中写(也许是数组?)而不重复? 问题答案: 如果要测试变量是否 确实 是,请使用标识运算符: 如果要检查是否未设置变量: 或者,如果变量不为空,则为空字符串,零,..: 如果要测试变量是否不是空字符串,也将足够:

  • 我想检查变量是否为空: 此代码基于:https://www.thomasmaurer.ch/2010/07/powershell-check-variable-for-null/,但这不起作用。 我该怎么解决这个问题? ps。堆栈中有东西

  • 我的两个列表中有以下元素,清单1[A F K]和清单2[B A C F K]。清单1的所有元素都在清单2中,因此它应该返回true 我尝试使用list1.containsAll(list2),但它并不支持我。 我尝试在这两个列表中循环,如果找到匹配,我就清空第一个列表中的那个位置,但这不起作用,因为我认为它会受到并发修改的影响。这是我的代码 在这里,subTreeList最终输出[A]。我知道它会