2014-03-25 69 views
0

因此,我在數組列表中有幾個「學生」對象,每個學生都有一個數組列表。我如何訪問特定學生的所有課程?提前致謝。從存儲在數組列表中的對象訪問數組列表的所有元素(2維)

Scanner studentCourse = new Scanner(System.in); 
int j = 0; 

System.out.println("Which students course(s) do you want to view?"); 
for(Student l:listStudent) { 
    System.out.print(j+1 + ")"); 
    System.out.println(l); 
    j++; 
} 
int course = studentCourse.nextInt(); 

int k = s.listCourse.size();//need this to be the size of the correct array list 
int l = 0; 

while(l < k){ 
    System.out.println(s.listCourse.get(0));//need this to print all of the elements in the correct array list 
} 

break; 

public class Student { 

    String studentFirstName, studentLastName; 
    int studentID; 
    double studentGPA; 
    ArrayList<Course> listCourse = new ArrayList<>(); 

} 

回答

1

你提的問題是非常可以理解的,但不是你的代碼。

Student student = studentList.get(indexPosition); 
//ArrayList gives this flexibility and that's the advantage of ArrayList over other Lists 

if(student.getCoursesList()!=null && !student.getCoursesList().isEmpty()){ 
    for(Course course: student.getCoursesList()){ 
     System.out.println(course); 
    } 
} 
+0

是的,我知道,我的代碼已經改變了很多次,我都混淆了,並認爲我應該至少發佈一些東西。當我沒有發佈代碼時,每個人都會被製作哈哈。 –

+0

這是說這行:Student student = studentList.get(indexPosition);出境限制 –

+0

我修正了界限問題,但由於某種原因沒有列印出來。它只是繼續我所做的主菜單... –

1

看看使用for

for (Course course : s.listCourse) { 
    System.out.println(course); 
} 
1

您可以使用getter & setter方法在Student類或只是使用for循環,如下圖所示。

for(Course course : s.listCourse) { 
    System.out.println(course); 
} 
0

你當然可以使用getter。通過使用你可以做到以下幾點:

int len = s.listCourse.size(); 
for(int i = 0; i<=len; i++) { 
    System.out.println(s.listCourse.get(i).getCourse()); 
} 
相關問題