gpt4 book ai didi

java - java中如何使用数组列表访问访问列表类型对象的方法

转载 作者:行者123 更新时间:2023-12-01 07:34:12 25 4
gpt4 key购买 nike

在我的程序中有三个类(class)Student,School和TestStudent。我已经在学生类(class)中声明了学生状态,并且还有获取学生主题的方法,我在学校类(class)中创建了学生类型的数组列表,但是当我尝试访问学校中学生的方法时,我收到错误 newStudent 类型无法解析.这是我的代码。

public class Student {
String name;
String subject;
int age;
Student(String name,String subject,int age){
this.name = name;
this.subject = subject;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public String getSubject(){
return this.subject;
}
public int getAge(){
return this.age;
}

}

public class School {
public ArrayList <Student> students = new ArrayList <Student>();
public void addStudent(String name,String subject,int age){
Student newStudent = new Student(name,subject,age);
students.add(newStudent);
}
public void showSubject(String student){
newStudent.getSubject();


}

}

最佳答案

newStudent.getSubject();

这不是你想要的。因为您还没有从 ArrayList 中检索到该 student

您需要迭代ArrayList,并查看哪个学生具有传入参数的姓名。因此,只需使用 for-each 循环来迭代您的 ArrayList,并返回适当的 Student。

所以,你的方法应该是这样的:-

public void showSubject(String student){
for (Student student: students) {
if (student.getName().equals(student)) {
System.out.println(student.getSubject());
}
}
}

请注意,在这里使用 Map 是一个更好的主意,正如 @Peter 在 his answer 中所解释的那样。 .

关于java - java中如何使用数组列表访问访问列表类型对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com