2015-05-03 262 views
-1

我試圖將名爲Student的類的對象添加到名爲StudentClass的另一個類中的Arraylist。我已經初始化列表中,但我有麻煩工作如何對象添加到ArrayList將類的對象添加到另一個類中的ArrayList

代碼StudentClass

public class StudentClass 
{ 
    List<Student> studentList; 
    private String studentName; 
    private int lengthOfString; 

    public StudentClass() 
    { 
     super(); 
     studentList = new ArrayList<>(); 
    } 

public void addStudent(String aName) 
    { 
    String objt = new String(name, mark); 
    studentList.add(Student); 
    } 

規範學生

public class Student 
{ 

    private String name; 
    private int mark; 


    public Student(String aName) 
    { 
     super(); 
     this.name = aName; 
     this.mark = -1; 

回答

1

這應該工作。

import java.util.*; 
    public class StudentClass 
    { 
    List<Student> studentList; 
    private String studentName; 
    private int lengthOfString; 

    public StudentClass() 
    { 
    super(); 
    studentList = new ArrayList<>(); 
    } 

    public void addStudent(String aName) { 
    Student student = new Student(aName); 
    studentList.add(student); 
    }  
    } 

    public class Student 
    { 

    private String name; 
    private int mark; 

    public Student(String aName) 
    { 
    super(); 
    this.name = aName; 
    this.mark = -1; 
    } 
    } 

我不清楚你想用標記做什麼?

+0

標記被初始設置爲-1以區別於0,然後我會寫一個方法來設置標記,無論學生的測試結果是什麼在稍後階段 – TreaureIsland

1

看來,你的錯誤是在這裏:

String objt = new String(name, mark); 
studentList.add(Student); 

改爲:

Student objt = new Student(name, mark); 
studentList.add(objt); 
+0

現在我得到「找不到符號 - 變量名稱」 有什麼想法? – TreaureIsland

+0

@TreaureIsland,它的參數名稱是'aName'而不是'name' – Arvind

1

你需要創建一個新的Student對象,然後添加到您的列表:

public void addStudent(String aName) { 
    Student student = new Student(aName); 
    studentList.add(student); 
} 

這不是從你提供的代碼的mark場的設置是很清楚,但無論是使其通過建造和/或增加吸氣和安裝人員。

2

試試這個:

public void addStudent(String aName) { 
    studentList.add(new String(aName)); 
} 

此外,學生類的構造函數不接受標記作爲第二個參數,至少你已經發布了代碼。

相關問題