如何返回对象数组的值

时间:2014-02-13 04:45:06

标签: java arrays object output

我有一个问题。我正在努力做到这一点,没有问,但经过几个小时的搜索和尝试,我似乎无法使它工作。这是为了一个分配。我只需要指导。

我必须创建以下对象

Student(String name, double GPA)
Classroom (int maxClassSize)

教室对象初始化一个arrray,我将存储Student对象。

然而,Classroom()中的数组被声明为私有(私人学生[])所以我使用公共方法添加学生

public boolean add(Student aStudent)  *do not worry about the boolean type

我也可以使用get方法返回数组的值

public Student getStudent(int position)

这些方法在作业中设定。

我的问题是,当我尝试输出数组中的对象时(同样,这是分配所必需的)。我得到了引用,即Student @ 23e45e23,而不是每个对象的名称和GPA。

我不能使用toString。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

您正在查看toString()类的Object方法的(非人类友好)输出。

toString()类中定义Student方法,覆盖Object类中找到的实现(Student隐式扩展)

类似的东西:

@Override
public String toString() {
    return firstName + " " + lastName + " - " gpa;
}

每当您打印对象时都会调用toString()方法:

System.out.println(student);

如果student不为null,则其效果与调用:

相同
System.out.println(student.toString());

答案 1 :(得分:0)

尝试覆盖toStringMethod()

方法一:

class Studet{
//
//
//
public String toString(){
 return name+""+GPA;
}

方法2:

制作Class

的对象

然后使用该对象访问变量的值。

答案 2 :(得分:0)

我最终能够在不使用toString(不能使用它)和

的情况下解决它
(student1.getName(classroom.getStudent(0))

(student1.getGPA(classroom.getStudent(0))

谢谢大家!