编写java程序,程序中至少包含大学类和学院类,学院类作为大学类的内部类,要求大学类可以通过统计各学院的男女生人数、主要专业等。 
时间: 2023-05-01 21:00:30 浏览: 24
好的,以下是Java程序的代码:
public class University {
private String name;
private List<College> colleges;
public University(String name) {
this.name = name;
colleges = new ArrayList<>();
}
public void addCollege(String name, int maleStudents, int femaleStudents, String major) {
College college = new College(name, maleStudents, femaleStudents, major);
colleges.add(college);
}
public void printStatistics() {
System.out.println("University: " + name);
System.out.println("Total number of colleges: " + colleges.size());
int totalMaleStudents = 0;
int totalFemaleStudents = 0;
Map<String, Integer> majorCount = new HashMap<>();
for (College college : colleges) {
totalMaleStudents += college.getMaleStudents();
totalFemaleStudents += college.getFemaleStudents();
String major = college.getMajor();
if (majorCount.containsKey(major)) {
int count = majorCount.get(major);
majorCount.put(major, count + 1);
} else {
majorCount.put(major, 1);
}
}
System.out.println("Total number of male students: " + totalMaleStudents);
System.out.println("Total number of female students: " + totalFemaleStudents);
System.out.println("Major statistics:");
for (String major : majorCount.keySet()) {
int count = majorCount.get(major);
System.out.println(major + ": " + count);
}
}
private class College {
private String name;
private int maleStudents;
private int femaleStudents;
private String major;
public College(String name, int maleStudents, int femaleStudents, String major) {
this.name = name;
this.maleStudents = maleStudents;
this.femaleStudents = femaleStudents;
this.major = major;
}
public String getName() {
return name;
}
public int getMaleStudents() {
return maleStudents;
}
public int getFemaleStudents() {
return femaleStudents;
}
public String getMajor() {
return major;
}
}
}
在这个程序中,大学类包含了学院类作为内部类。大学类有一个名称和一个学院列表。学院类有名称、男女生人数和主要专业。大学类有添加学院和打印统计信息的方法。打印统计信息方法会打印大学的名称、学院数量、男女生人数和主要专业的统计信息。在大学类中,我们使用了一个HashMap来统计每个主要专业的数量。
相关推荐













