当我尝试打印部门内的数据时,它只打印其地址的内存。
如何打印部门和数据?
我希望College
部门获取Lecturer
部门中的所有参数。这意味着当我创建一个新的College
时,我希望它创建一个包含所有参数的新Lecturer
。
在College
课程中,我添加了一个方法(NewLecturer
),可添加额外的Lecturer
。它写的正确吗?
public class main {
public static void main(String[] args) {
Lecturer[] L1 = new Lecturer[] { new Lecturer("Dani", 2, "Banana", 1001) };
College FirstCollege = new College("Hmpson", 2, L1);
for (int i = 0; i < L1.length; i++) {
System.out.print(L1[i]);
}
System.out.print(L1);
System.out.print(FirstCollege);
}
}
头等舱:
public class Lecturer {
public String nameOfLecturer = "";
public int numOfTimesPenFalls = 0;
public String favoriteIceCream = "";
public int numAuto = 1000;
//constructors, same name like class
public Lecturer(String name, int TimesPenFalls, String IceCream, int num) {
nameOfLecturer = name;
numOfTimesPenFalls = TimesPenFalls;
favoriteIceCream = IceCream;
numAuto = num;
int maxLecturer = 10;
}
//Copy constructor
public Lecturer(Lecturer other) {
nameOfLecturer = other.nameOfLecturer;
numOfTimesPenFalls = other.numOfTimesPenFalls;
favoriteIceCream = other.favoriteIceCream;
numAuto = other.numAuto;
}
}
第二课:
public class College {
public String CollegeName = "";
public int numOfLecturers = 0;
public Lecturer[] allLecturers;
// constructors, same name like class
public College(String name, int numLecturers, Lecturer[] dataBase) {
CollegeName = name;
numOfLecturers = numLecturers;
allLecturers = dataBase;
int maxLecturer = 10;
}
// getter, only private
public String getCollegeName() {
return CollegeName;
}
// setter, only private
public void setCollegeName(String newcollegeName) {
CollegeName = newcollegeName;
}
public boolean newLecturer(Lecturer addNewLecturer, int maxLecturer) {
if (numOfLecturers < maxLecturer || numOfLecturers == maxLecturer) {
numOfLecturers += 1;
return true;
} else {
System.out.print("Sorry, Max Lecturer!");
return false;
}
}
public void sortLecturer(Lecturer[] arrAllLecturers) {
int numOfTimesPenFalls = 0;
}
}
答案 0 :(得分:1)
System.out.print(Object)
会调用参数toString()
的{{1}}方法。
Object
的默认toString
方法不会让您感到有趣,因此您必须覆盖Object
以满足您的需求,例如:
在课程toString
中:
Lecturer
在课程@Override
public String toString() {
return "Lecturer [nameOfLecturer=" + nameOfLecturer + ", numOfTimesPenFalls=" + numOfTimesPenFalls
+ ", favoriteIceCream=" + favoriteIceCream + ", numAuto=" + numAuto + "]";
}
中:
College
答案 1 :(得分:0)
为您的Lecturer和College课程创建setter / getter和toString方法。