为了账号安全,请及时绑定邮箱和手机立即绑定

询问非基元数组列表

询问非基元数组列表

慕沐林林 2023-06-04 11:17:30
我创造了ArrayList. 我如何使用此列表从类中获取方法或属性。我试过了,但我无法找到任何解决方案。我试图进入数组列表中的元素并获取一些属性,但我做不到。    public static void printOptions() {    System.out.println("Welcome to our university!");    System.out.println("Operations:");    System.out.println("1- College");System.out.println("a) Number of Departments");System.out.println("b) Number of Courses");System.out.println("c) Number of Professors");System.out.println("d) Number of Students");System.out.println("e) Report");    System.out.println("2- Department");System.out.println("a) New");System.out.println("b) Number of Courses");System.out.println("c) Number of Students");System.out.println("d) Is Full");System.out.println("e) Enroll");System.out.println("f) Report");    System.out.println("3- Course");System.out.println("a) New");System.out.println("b) Number of Students");System.out.println("c) Assign");System.out.println("d) Is assigned");System.out.println("e) Professor Name");System.out.println("f) Is Full");System.out.println("g) Enroll");System.out.println("h) Report");    System.out.println("4- Professor");System.out.println("a) New");System.out.println("b) Display Salary");System.out.println("c) Get Raise");System.out.println("d) Report");    System.out.println("5- Student");System.out.println("a) New");System.out.println("b) Report");    System.out.println("6- Quit");}/** * @param args the command line arguments */public static void main(String[] args) {    // TODO code application logic here    printOptions() ;      List<Department> departmentList;departmentList = new ArrayList<>();      List<Course> courseList ;courseList = new ArrayList<>();      List<Professor> proffList = new ArrayList<>() ;      List<Student> studentList;studentList = new ArrayList<>() ;      Scanner in = new Scanner(System.in) ;     int d = 0 , c = 0  , p = 0 , s=0 ;     College AinShams = new College() ;                }    }}}在条件 (2e) 中,我需要在数组列表中分配的类中获取方法和属性
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

AinShams.getDepart() 指的是您定义为数据类型 College 的对象:

College AinShams = new College();

College 代码的其余部分不在此片段中,因此我无法判断 .getDepart() 方法是否存在。无论哪种方式,College 都不是 ArrayList。

如果您想访问 ArrayList 中对象的方法和字段,则可以使用以下类似的方法。作为示例,我以名为 departmentlist 的 ArrayList 为例,并使用 get() 方法返回该列表中的第 0 个元素。假设该类的第 0 个元素是 Department 类型的对象,.name 请求名称字段(再次假设 Department 类中存在此名称变量)。.getName() 是获取名称值的更好方法,但需要您在 Department 类中编写此方法。

departmentlist.get(0).name
departmentlist.get(0).getName()

顺便说一句,考虑通过使用“\n”换行键格式化输出来减少代码顶部的一些“System.out.println()”混乱。尝试使用 1 次 system.out.println 调用打印两行文本的这两个示例:

System.out.println("Welcome to our university!" + "\n" + "Operations:");
System.out.println("Welcome to our university! \nOperations:");


查看完整回答
反对 回复 2023-06-04
?
慕森卡

TA贡献1806条经验 获得超8个赞

您想要向部门添加新学生。您的College班级还有其他属性,例如部门列表、教授等。


方法:


您可以通过 case-2e 中用户传递的部门名称(属性)从数组列表中获取 Department 对象。然后使用该对象将新学生插入其学生列表。


代码:


您的代码可能类似于下面的内容(请原谅任何编译错误,因为我没有使用过任何 IDE。按照方法进行操作):


String dept = in.nextLine();

Department department = AinShams.getDepart().stream().filter(department -> department.getName().contentEquals(dept)).limit(1);

department.getStudentList().add(new Student());


或者使用以下方法:


Department findDepartment(List<Department> deptList, String dept) {

    for(Department department : deptList) {

        if(department.getName().equals(dept)) {

            return department;

        }

    }

    return null;

}


查看完整回答
反对 回复 2023-06-04
  • 2 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信