询问非基元数组列表

我创造了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) 中,我需要在数组列表中分配的类中获取方法和属性


慕沐林林
浏览 140回答 2
2回答

浮云间

AinShams.getDepart() 指的是您定义为数据类型 College 的对象:College&nbsp;AinShams&nbsp;=&nbsp;new&nbsp;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&nbsp;to&nbsp;our&nbsp;university!"&nbsp;+&nbsp;"\n"&nbsp;+&nbsp;"Operations:"); System.out.println("Welcome&nbsp;to&nbsp;our&nbsp;university!&nbsp;\nOperations:");

慕森卡

您想要向部门添加新学生。您的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;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java