import java.util.ArrayList;
import java.util.List;
public class Test {
private String universityName;
private int worldRank;
private List<String> faculties=new ArrayList<>();
private List<String> students=new ArrayList<>();
private List<String> enrollment=new ArrayList<>();
public Test(String universityName, int worldRank) {
this.universityName = universityName;
this.worldRank = worldRank;
}
public String getUniversityName() {
return universityName;
}
public boolean setUniversityName(String universityName) {
if (universityName.length()>=3){
this.universityName = universityName;
return true;
}
return false;
}
public int getWorldRank() {
return worldRank;
}
public boolean setWorldRank(int worldRank) {
if(worldRank>0){
this.worldRank = worldRank;
return true;
}
return false;
}
public List<String> getFaculties() {
return faculties;
}
public List<String> getStudents() {
return students;
}
public List<String> getEnrollment() {
return enrollment;
}
@Override
public String toString() {
String str="Test{" +
"universityName='" + universityName + '\'' +
", worldRank=" + worldRank +
", faculties=[";
for (String faculty : faculties) {
str=str+faculty+",";
}
str=str+"], students=[";
for (String student : students) {
str=str+student+",";
}
str=str+"], enrollment=[";
for (String e : enrollment) {
str=str+e+",";
}
str=str+"]}";
return str;
}
public boolean addStudents(String name) {
if(name.length()>=2){
students.add(name);
return true;
}
return false;
}
public boolean addFaculty(String name) {
if(name.length()>=3){
faculties.add(name);
return true;
}
return false;
}
public boolean addEnrollment(String sName,String tName) {
if(students.contains(sName) && faculties.contains(tName)){
enrollment.add(sName+"|"+tName);
return true;
}
return false;
}
public int countStudentsPerFaculty(String name) {
int count=0;
for (String s : enrollment) {
String t=s.substring(s.lastIndexOf("|")+1);
if(t.equals(name)){
count++;
}
}
return count;
}
}