我有一个问题。我正在努力做到这一点,没有问,但经过几个小时的搜索和尝试,我似乎无法使它工作。这是为了一个分配。我只需要指导。
我必须创建以下对象
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。
有什么想法吗?
答案 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))
谢谢大家!