2015-05-03 277 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)); 
} 

此外,学生类的构造函数不接受标记作为第二个参数,至少你已经发布了代码。

相关问题