In: Computer Science
JAVA LANGUAGE
Required Tasks:
In Eclipse, create a Java Project as CS-176L-Assign5.
Create 3 Java Classes each in its own file Student.java,
StudentList.java, and Assign5Test.java.
Copy your code from Assignment 4 into the Student.java and
StudentList.java Classes. Assign5Test.java should contain the main
method.
Modify StudentList.java to use an ArrayList instead of an array.
You can find the basics of ArrayList here:
https://www.w3schools.com/java/java_arraylist.asp
In StudentList.java, create two new public methods:
The addStudent method should have one parameter of type Student and
should add the given Student to the StudentList.
The removeStudent method should have one parameter of type String.
The String is the email of the student to be removed from the
StudentList.
In Assign5Test.java do the following:
Create a new StudentList containing 3 students.
Print the info of all the Students in the StudentList using the
getAllStudentInfo method.
Remove one Student from the StudentList using the removeStudent
method.
Add two new Students to the StudentList using the addStudent
method.
Print the info of all the Students in the StudentList using the
getAllStudentInfo method. Notice that one Student was removed and
two were added.
Code must compile and run without warnings or errors.
Final output should look something like the following:
Name: [Abdulmuhsin J.Al-Kandari], Email: [[email protected]],
Major: [SE], GraduationYear: [2017]
Name: [Justin R. Schlemm], Email: [[email protected]], Major:
[SE], GraduationYear: [2016]
Name: [Mary F. Menges], Email: [[email protected]], Major:
[SE], GraduationYear: [2017]
Name: [Abdulmuhsin J.Al-Kandari], Email:
[[email protected]], Major: [SE], GraduationYear: [2017]
Name: [Justin R. Schlemm], Email: [[email protected]], Major:
[SE], GraduationYear: [2016]
Name: [Nicholas-Jason R. Roache], Email: [[email protected]],
Major: [CS], GraduationYear: [2017]
Name: [Taylor J. Klodowski], Email: [[email protected]], Major:
[SE], GraduationYear: [2016]
public class Student{
private String name;
private String email;
private String major;
private int graduationYear;
public Student(String name, String email, String majaor, int
graduationYear) { // added graduation year in Constructer
setName(name);
setEmail(email);
setMajor(major);
setGraduationYear(graduationYear);
}
public int getGraduationYear() { // getgraduation method
return graduationYear;
}
public void setGraduationYear(int graduationYear) { // set
graduation method
this.graduationYear = graduationYear;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "Name: [" + this.name + "], Email: [" + this.email + "],
Major: [" + this.major + "], GraduationYear: [" +
this.graduationYear + "]"; // added graduation year to the toString
method
}
}
public class StudentList {
private static final boolean StudentInfo = false;
private Student[] studentArray;
public String email;
public StudentList(Student[] studentArray) {
setStudentArray(studentArray);
}
public void setStudentArray(Student[] studentArray) {
this.studentArray = studentArray;
}
public Student[] getStudentArray() {
return studentArray;
}
public int studentcount(String major) {
int count = 0;
for(int i = 0; i < studentArray.length; i++) {
if(major.equals(studentArray[i].getMajor())){
count++;
}
}
return count;
}
public Student getStudentInfo(String email) {
for(int i = 0; i < studentArray.length; i++) {
if(studentArray[i].getEmail() == email) {
return studentArray[i];
}
}
return null;
}
public String getAllStudentInfo() {
String returnString = "";
for(int i = 0; i < studentArray.length; i++) {
returnString += studentArray[i].toString() +
System.lineSeparator();
}
return returnString;
}
public String studentInfo(String string) {
return null;
}
public boolean updateStudentGraduationYear(String email, int year) { // added method to update the graduation year of a student using the email.
for(int i = 0; i < studentArray.length; i++) {
if(studentArray[i].getEmail() == email) {
studentArray[i].setGraduationYear(year);
return true; // if found updated and returned true
}
}
return false; // else false
}
}
Here is the Java code to the given question.
Three files are provided i.e., Student.java ,StudentList.java and Assign5Test.java.
Output screenshot is added at the end.
Code:
Student.java:
public class Student{
private String name;
private String email;
private String major;
private int graduationYear;
public Student(String name, String email, String major, int graduationYear) { // added graduation year in Constructor
setName(name);
setEmail(email);
setMajor(major);
setGraduationYear(graduationYear);
}
public int getGraduationYear() { // getgraduation method
return graduationYear;
}
public void setGraduationYear(int graduationYear) { // set graduation method
this.graduationYear = graduationYear;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "Name: [" + this.name + "], Email: [" + this.email + "], Major: [" + this.major + "], GraduationYear: [" + this.graduationYear + "]"; // added graduation year to the toString method
}
}
StudentList.java:
import java.util.ArrayList;
public class StudentList {
private static final boolean StudentInfo = false;
private ArrayList<Student> studentList; /* ArrayList to store Student objects*/
public String email;
public StudentList(){
studentList=new ArrayList<Student>();
}
public StudentList(ArrayList<Student> studentList) {
setStudentList(studentList);
}
public void setStudentList(ArrayList<Student> studentList) {
this.studentList = studentList;
}
public ArrayList<Student> getStudentList() {
return studentList;
}
public int studentcount(String major) {
int count = 0;
for(Student student : studentList) { /*for each student in studentList*/
if(major.equals(student.getMajor())){ /*if the major of student equals major passed as parameter*/
count++; /*increment count by 1*/
}
}
return count; /*returns count*/
}
public Student getStudentInfo(String email) {
for(Student student : studentList) { /*for each student in studentList*/
if(student.getEmail().equals(email)) { /*if emain of the student equals email passed as parameter*/
return student; /*returns student object*/
}
}
return null; /*returns null if no student is found*/
}
public String getAllStudentInfo() {
String returnString = "";
for(Student student : studentList) { /*for each student in studentList*/
returnString += student.toString() + System.lineSeparator(); /*append student string to returnString*/
}
return returnString;
}
public boolean updateStudentGraduationYear(String email, int year) { // added method to update the graduation year of a student using the email.
for(Student student: studentList){ /*for each student in student list*/
if(student.getEmail().equals(email)){ /*if email of the student equals email passed to the method*/
student.setGraduationYear(year); /*sets student graduation year to the year passed as parameter*/
return true; /*if found then return true*/
}
}
return false; // else false
}
/*method that adds student to studentList*/
public void addStudent(Student student){
studentList.add(student); /*adds student to studentList*/
}
/*method that removes student from studentList*/
public boolean removeStudent(String email){
for(Student student : studentList){ /*for each student in studentList*/
if(student.getEmail().equals(email)){ /*if email of the student equals email passed to the method*/
studentList.remove(student); /*removes student from studentList*/
return true; /*returns true if student is removed*/
}
}
return false; /*returns false if the student is not found*/
}
}
Assign5Test.java:
import java.util.ArrayList;
public class Assign5Test {
public static void main(String[] args){
Student student1=new Student("Watson","[email protected]","SE",2020); /*creates new Student object*/
Student student2=new Student("Curran","[email protected]","ME",2019); /*creates new Student object*/
Student student3=new Student("James","[email protected]","SE",2019); /*creates new Student object*/
Student student4=new Student("Robert","[email protected]","ME",2020); /*creates new Student object*/
Student student5=new Student("Chris","[email protected]","SE",2019); /*creates new Student object*/
ArrayList<Student> studentArrayList=new ArrayList<Student>(); /*creates a new ArrayList that stores Student objects*/
studentArrayList.add(student1); /*adds student1 to studentArrayList*/
studentArrayList.add(student2); /*adds student2 to studentArrayList*/
studentArrayList.add(student3); /*adds student3 to studentArrayList*/
StudentList studentList=new StudentList(studentArrayList); /*creates a new StudentList object with studentArrayList passed to the constructor*/
System.out.println(studentList.getAllStudentInfo()); /*prints all students info*/
studentList.removeStudent("[email protected]"); /*removes student with email "[email protected]" from studentList*/
studentList.addStudent(student4); /*adds student4 to studentList*/
studentList.addStudent(student5); /*adds student5 to studentList*/
System.out.println(studentList.getAllStudentInfo()); /*prints all students info*/
}
}
Output: