Question: In Java please. 3 CLASS STUDENT An object of this class will represent a single student. 3.1 fields int id : A unique id number








In Java please.
3 CLASS STUDENT An object of this class will represent a single student. 3.1 fields int id : A unique id number . String name : A non unique name. It can be first last or just first or any other string. int SAT : A numeric value between 0 and 1600. . you can add more as needed 3.2 methods Student (id, name, SAT): A constructor that initializes the above fields. getid, getName, get SAT : Getter methods copy : Not a constructor, but creates and returns a non-alias copy of this object. Useful for sharing the object without allowing modification. toString: Overrides the default method. Don't forget the @Override annotation. It represents a student in the form of id: name, e.g. 1234: Donald Knuth equals (Object other) : Overrides the default method and compares this Student to the other student. Don't forget the @override annotation. It returns true if the two students have the same id and name. Hint: You can start your method with the following code to check if the other object has the proper type, and then, don't forget to cast the other object before you use it. if ( ! ( other instanceof Student)) { return false; } you can add more as needed 3.3 manual grading criteria Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. The purpose of this class is to create a simplistic list-like structure to allow us to group Student values together. We will use an internal array of objects to provide functionality such as adding, removing, reading, and writing values into the sequence of student objects. Check slides 47-51 in this lecture presentation for an overview of how memory works with arrays of objects. 4.1 fields An array of student. You can pick any name you like. It stores all the current student values in an array that is exactly the right length should never have extra spots available). When implementing methods below, we will often be creating a new array of a different length and replacing the values of this variable because arrays cannot change length. you can add more as needed 4.2 methods StudentList(): This constructor method initializes the internal array to size zero. StudentList(String filename) : This constructor method initializes the internal array by loading data from a file. The file will contain one line per student with id, name, SAT as in the example below: 1054, Charles, 1373 1042, Joseph, 1089 1049, Thomas Jefferson, 1394 1139, Edward, 1031 StudentList copy(): This is not a constructor method itself; it does create a different studentList object (with no aliases to itself) and returns this new copy. int size(): Returns how many items are currently in the list. get(int index) : Returns the value at the provided index. Must throw a RuntimeException when the index is out of bounds. This can be done with the following statement in Java: throw new RuntimeException() void set (int index, Student value) : Changes the value at the given index to the new value. Must throw a RuntimeException when the index is out of bounds. IndexOf(Student value) : Finds the given value and returns that value's index in the list. Must return -1 when the value is not found (do not throw an exception). vold add (Student value) : Adds the value to the end of the internal array. Since arrays can't change length, you must create a new array of the exact new required size, copy values over, and place the given value at the end. Must throw a RuntimeException if the given value is null. void insert(int index, Student value) : Has the effect of inserting this value in the list so that value is the new value at index, and any values previously at that location or later have all been pushed to the right by one. Must throw a RuntimeException if the given value is null. Must throw a RuntimeException if the given index is out of bounds: It may be any index of the current array or equal to one larger than the last valid index, but no larger. void remove (Student value) : Finds and removes the value from the list. All values that were after it will be shifted one spot towards the beginning of the list. Must throw a RuntimeException when the given value does not exist in the list. getHighestScoreStudent : Returns the student that has the highest SAT score. Must throw a RuntimeException when there are no students admitted. toString: Overrides the default method. Don't forget the override annotation. It represents a list a comma separated representations of students enclosed in curly braces. For example, if there were three students in the list "1234: Donald Knuth", "99: John von Neumann", and "567: Alan Turing', then we would return "{1234: Donald Knuth, 99: John von Neumann, 567: Alan Turing)". you can add more as needed 4.3 manual grading criteria The internal array is replaced by a new array whose size is always exactly one spot longer or shorter than before. (Not for credit, but think, is there a better approach?) Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. . 5 CLASS UNIVERSITY An object of this class will represent a single university, 5.1 fields int id : A unique id number A String name : A unique name int numbfPositions : A positive number that denotes how many positions the university has available this year. minsar: The minimum SAT score that the university will accept. Note though that during the matching process we can disable that and let the matching process complete as if no minimum is set. . a Studentlist that will be used to store the admitted students. You can use any name you like. you can add more as needed 5.2 methods University(id, name, numofPositions, minSAT): A constructor that initializes the above fields. getId, getName, get.Numof Positions, getMinSAT : Getter methods , , void activateMinSAT (boolean value): Activates or deactivates the use of the SAT threshold during the matching process. It will be called before the matching process begins. boolean admit(Student value): Decides whether to admit a student or not. If the student is admissible, it is added to the list of admitted students and returns true, otherwise it returns false. getAdmittedStudents : Returns the StudentList of the admitted students. It can be called at any time, even during the matching process. It assumes that the caller will not modify the returned list but wants it only for inspection. lastAdmittedStudentSAT : Returns the lowest SAT score among the students that were admitted to the university. void resetAdmissions : Clears the internal storage of the admitted students and frees any memory that was previously allocated for it. It's useful if we want to rerun the matching process with different parameters (e.g, activate/deactivate the min SAT score). tostring: Overrides the default method. Don't forget the override annotation. It represents a university in the form of id: name, c.g. 113: George Mason University equals(Object other): Overrides the default method and compares this University to the other university. Don't forget the @Override annotation. It returns true if the two universities have the same id and name. you can add more as needed 5.3 manual grading criteria . Correct choices for the visibility, the parameters and the return types. Proper declaration of additional fields/methods. Proper documentation of fields and methods, preferably in javadoc style. This class has many things in common with studentList. It stores multiple universities instead of multiple students in a list that can grow/shrink via the provided methods. It is strongly recommended that you first complete the class StudentList and pass all its tests before you start working on this one. 6.1 fields An array of University. You can pick any name you like. It stores all the current University values in an array that is exactly the right length (it should never have extra spots available). you can add more as needed 6.2 methods UniversityList(): This constructor method initializes the internal array to size zero. Universitylist(String filename) : This constructor method initializes the internal array by loading data from a file. The file will contain one line per university with id, name, available positions, minimum_sar as in the example below: . 309, Virginia Tech, 7, 1400 141, George Washington University, 6, 1200 273, University of Virginia,5,1500 165, James Madison University, 4, 1100 113, George Mason University, 8,1300 int size(): Returns how many items are currently in the list. get(int index) : Returns the value at the provided index. Must throw a RuntimeException when the index is out of bounds. void set(int index, University value) : Changes the value at the given index to the new value. Must throw a RuntimeException when the index is out of hounds. indexOf(University value) : Finds the given value and returns that value's index in the list. Must return -1 when the value is not found (do not throw an exception). indexOf(int universityid) : It's an overloaded version of the previous method. It does the same operation but this one finds the university based on its id. Must return -1 when a university with that id is not found in the list. not void insert (University value) : This method works differently from the namesake method in StudentList. It takes one parameter only because the index where the value is to be inserted, provided by the caller but it's inferred by the method itself. The insertion must occur in the index that will have the effect of preserving the list ordered (in ascending alphanumerical order based on the name of the university). The method throws a RuntimeException if the given value is null. .toString: Overrides the default method. Don't forget the @Override annotation. It represents a list a comma separated representations of Universitys enclosed in curly braces. For example, if there were two universities in the list, "George Mason University" and "University of Virginia", then we would return "(113: George Mason University, 273: University of Virginia)". you can add more as needed 6.3 manual grading criteria Optimal expansion of the array. No sorting of the list. Method insert must insert the value in the proper spot without any use of sorting. Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. . 7 CLASS Log When performing an involved process, we might want to output messages to a separate source to dig through later. This is often called logging. Our Log class will allow us to store multiple string messages one at a time via record (..), and also get back the whole sequence of messages via read(). You can add these calls anywhere you want in your code to help you with debugging. We will assume that each message is a single line of text. 7.1 fields your choice! What do you need, in order to complete this class's duties? 7.2 methods Log(): The constructor creates a new and empty) log. . copy(): Not a constructor, but creates a no-aliases copy of this log and returns it. Useful for sharing the information without allowing modification. . String[] read() : Returns an array of strings where each item in the array is the next line of recorded content. void record (String msg) : Records the given message as the next line inside the log object. Assumes there are no newline characters in the message. 7.3 manual grading criteria Make reasonable choices for the internal state of your Log class, and justify it in the comments preceding the fields. There are multiple good answers (full credit) available, you don't have to read our minds to succeed here. But do give more comments than usual explaining your reasoning. The purpose of this class is to keep track of all the students' applications to universities. maintains an array of student IDs and, for each student, an array of the university IDs they applied to. So, this class doesn't create a StudentList or a UniversityList, it only stores a mapping of IDs to IDs. 8.1 fields an array of type int[] that has a name of your choice! This array is for storing the student IDs. Keep in mind that this array does not necessarily have the same size with the StudentList as there may be students that haven't applied anywhere this year. an array of type int[][] that has a name of your choice! This array is for storing the University IDs. Each row corresponds to a certain student (there is one to one mapping with the previous array) and each column correponds to a university ID ordered from highest preference in column 0 to lowest preference in the last column). Keep in mind that not all students have the same number of applications. 8.2 methods Applications (String filename) : The constructor method initializes the internal array by loading data from a file. The file will contain one line per student with student_id, university_id_1, university_id_2, ... as in the example below: 1054,113, 141,165 1042,273, 141, 309, 165, 113 1049,165,309,113,141 1139,165,309 In the above example, student with id 1054 applied to 3 universities. His first preference is the university with id 113, his second preference is the university with id 141 and his third preference is the university with id 165. The second student has applied to 5 universities, the third student to 4 universities, and the fourth student to 2 universities. The records should be stored in the same order that they appear in the file. Sorting is not required. No need for incremental expansions of the array either; you can initialize it with the proper size right from the beginning. int size(): Returns the size of the array, getStudentId(int index) /: Returns the id of the student located at a certain index. int[] getStudentselections (int studentId): Returns a reference to the array of student applications in their original order of preference. Must throw a RuntimeException when the studentId doesn't exist int[] getStudentsByUniversity (int universityId) : Returns an array of student IDs that applied to a certain university (in the same order that they appear in the file). getUniversityBystudentsRank (int studentid, int rank) : Returns the ID of the university that student with studentId ranked at position rank in his preferences. Must throw a RuntimeException if either parameter is invalid. .toString : Overrides the default method and returns a slightly less ugly representation. Don't forget the goverride annotation. It represents a list a comma separated representations of applications enclosed in curly braces. For example, the return value for the above file would be "(1054: 113 141 165, 1042: 273 141 309 165 113, 1049: 165 309 113 141, 1139: 165 309)'. 8.3 manual grading criteria No need for advanced list operations (add, insert, etc.) Array must be populated by direct access to its values. Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. 9 CLASS ADMISSIONS The purpose of this class is to run the matching process for college admissions and also provide a few methods for running some basic statistics. Make sure you complete all other classes before you start working on this one. 9.1 fields your choice! What do you need, in order to complete this class's duties? 9.2 methods Admissions (StudentList s, Universitylist u, Applications a) : The constructor method is provided with the three objects that are needed to run the matching process. You must not modify any of the input parameters; work on copies if you want to make any changes. void matching (boolean minsaTactivated): This is the method that does all the work for the matching process. It takes one parameter only, a boolean flag, that defines whether the matching will be run with or without the minimum SAT threshold that each university has defined for its admissions process. In other words, we want to have the flexibility to adjust the process (for special situations like the covid-19 pandemic, etc.) and allow the matching to disregard the minimum SAT threshold that universities normally set. At this moment, we don't ask you to generate a specific log for the matching process, but you must integrate the logging in this method. All you have to do is invoke the Log's recordi message) method in certain locations of your code. You can use any messages you want right now, and later we might ask you to change them to specific ones (of course, there will be an announcement if that happens). StudentList studentswithoutApplication(): Returns a list of students that haven't applied to any university. Keep in mind that the Applications list is independent from the studentList; it doesn't necessarily mean that all students in the current year will apply to some university. StudentList studentsWithApplication(): Returns a list of students that have applied to at least one university this year. int numofMatchings(): Returns the total number of students (based on the applications, not on the whole list of students) that have be matched to a university. int num funfilledPositions(): Returns the total number of university positions that remain unfilled. Due to the SAT threshold and the specific order of preferences that students declare in their applications, it is not guranteed that all university positions will be filled. 9.3 manual grading criteria No modification of the inputs to the constructor. Proper use of logging for the matching process. Optimal reuse of other methods and classes. You must not rewrite any code Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. you can get the result you want by calling another method. 3 CLASS STUDENT An object of this class will represent a single student. 3.1 fields int id : A unique id number . String name : A non unique name. It can be first last or just first or any other string. int SAT : A numeric value between 0 and 1600. . you can add more as needed 3.2 methods Student (id, name, SAT): A constructor that initializes the above fields. getid, getName, get SAT : Getter methods copy : Not a constructor, but creates and returns a non-alias copy of this object. Useful for sharing the object without allowing modification. toString: Overrides the default method. Don't forget the @Override annotation. It represents a student in the form of id: name, e.g. 1234: Donald Knuth equals (Object other) : Overrides the default method and compares this Student to the other student. Don't forget the @override annotation. It returns true if the two students have the same id and name. Hint: You can start your method with the following code to check if the other object has the proper type, and then, don't forget to cast the other object before you use it. if ( ! ( other instanceof Student)) { return false; } you can add more as needed 3.3 manual grading criteria Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. The purpose of this class is to create a simplistic list-like structure to allow us to group Student values together. We will use an internal array of objects to provide functionality such as adding, removing, reading, and writing values into the sequence of student objects. Check slides 47-51 in this lecture presentation for an overview of how memory works with arrays of objects. 4.1 fields An array of student. You can pick any name you like. It stores all the current student values in an array that is exactly the right length should never have extra spots available). When implementing methods below, we will often be creating a new array of a different length and replacing the values of this variable because arrays cannot change length. you can add more as needed 4.2 methods StudentList(): This constructor method initializes the internal array to size zero. StudentList(String filename) : This constructor method initializes the internal array by loading data from a file. The file will contain one line per student with id, name, SAT as in the example below: 1054, Charles, 1373 1042, Joseph, 1089 1049, Thomas Jefferson, 1394 1139, Edward, 1031 StudentList copy(): This is not a constructor method itself; it does create a different studentList object (with no aliases to itself) and returns this new copy. int size(): Returns how many items are currently in the list. get(int index) : Returns the value at the provided index. Must throw a RuntimeException when the index is out of bounds. This can be done with the following statement in Java: throw new RuntimeException() void set (int index, Student value) : Changes the value at the given index to the new value. Must throw a RuntimeException when the index is out of bounds. IndexOf(Student value) : Finds the given value and returns that value's index in the list. Must return -1 when the value is not found (do not throw an exception). vold add (Student value) : Adds the value to the end of the internal array. Since arrays can't change length, you must create a new array of the exact new required size, copy values over, and place the given value at the end. Must throw a RuntimeException if the given value is null. void insert(int index, Student value) : Has the effect of inserting this value in the list so that value is the new value at index, and any values previously at that location or later have all been pushed to the right by one. Must throw a RuntimeException if the given value is null. Must throw a RuntimeException if the given index is out of bounds: It may be any index of the current array or equal to one larger than the last valid index, but no larger. void remove (Student value) : Finds and removes the value from the list. All values that were after it will be shifted one spot towards the beginning of the list. Must throw a RuntimeException when the given value does not exist in the list. getHighestScoreStudent : Returns the student that has the highest SAT score. Must throw a RuntimeException when there are no students admitted. toString: Overrides the default method. Don't forget the override annotation. It represents a list a comma separated representations of students enclosed in curly braces. For example, if there were three students in the list "1234: Donald Knuth", "99: John von Neumann", and "567: Alan Turing', then we would return "{1234: Donald Knuth, 99: John von Neumann, 567: Alan Turing)". you can add more as needed 4.3 manual grading criteria The internal array is replaced by a new array whose size is always exactly one spot longer or shorter than before. (Not for credit, but think, is there a better approach?) Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. . 5 CLASS UNIVERSITY An object of this class will represent a single university, 5.1 fields int id : A unique id number A String name : A unique name int numbfPositions : A positive number that denotes how many positions the university has available this year. minsar: The minimum SAT score that the university will accept. Note though that during the matching process we can disable that and let the matching process complete as if no minimum is set. . a Studentlist that will be used to store the admitted students. You can use any name you like. you can add more as needed 5.2 methods University(id, name, numofPositions, minSAT): A constructor that initializes the above fields. getId, getName, get.Numof Positions, getMinSAT : Getter methods , , void activateMinSAT (boolean value): Activates or deactivates the use of the SAT threshold during the matching process. It will be called before the matching process begins. boolean admit(Student value): Decides whether to admit a student or not. If the student is admissible, it is added to the list of admitted students and returns true, otherwise it returns false. getAdmittedStudents : Returns the StudentList of the admitted students. It can be called at any time, even during the matching process. It assumes that the caller will not modify the returned list but wants it only for inspection. lastAdmittedStudentSAT : Returns the lowest SAT score among the students that were admitted to the university. void resetAdmissions : Clears the internal storage of the admitted students and frees any memory that was previously allocated for it. It's useful if we want to rerun the matching process with different parameters (e.g, activate/deactivate the min SAT score). tostring: Overrides the default method. Don't forget the override annotation. It represents a university in the form of id: name, c.g. 113: George Mason University equals(Object other): Overrides the default method and compares this University to the other university. Don't forget the @Override annotation. It returns true if the two universities have the same id and name. you can add more as needed 5.3 manual grading criteria . Correct choices for the visibility, the parameters and the return types. Proper declaration of additional fields/methods. Proper documentation of fields and methods, preferably in javadoc style. This class has many things in common with studentList. It stores multiple universities instead of multiple students in a list that can grow/shrink via the provided methods. It is strongly recommended that you first complete the class StudentList and pass all its tests before you start working on this one. 6.1 fields An array of University. You can pick any name you like. It stores all the current University values in an array that is exactly the right length (it should never have extra spots available). you can add more as needed 6.2 methods UniversityList(): This constructor method initializes the internal array to size zero. Universitylist(String filename) : This constructor method initializes the internal array by loading data from a file. The file will contain one line per university with id, name, available positions, minimum_sar as in the example below: . 309, Virginia Tech, 7, 1400 141, George Washington University, 6, 1200 273, University of Virginia,5,1500 165, James Madison University, 4, 1100 113, George Mason University, 8,1300 int size(): Returns how many items are currently in the list. get(int index) : Returns the value at the provided index. Must throw a RuntimeException when the index is out of bounds. void set(int index, University value) : Changes the value at the given index to the new value. Must throw a RuntimeException when the index is out of hounds. indexOf(University value) : Finds the given value and returns that value's index in the list. Must return -1 when the value is not found (do not throw an exception). indexOf(int universityid) : It's an overloaded version of the previous method. It does the same operation but this one finds the university based on its id. Must return -1 when a university with that id is not found in the list. not void insert (University value) : This method works differently from the namesake method in StudentList. It takes one parameter only because the index where the value is to be inserted, provided by the caller but it's inferred by the method itself. The insertion must occur in the index that will have the effect of preserving the list ordered (in ascending alphanumerical order based on the name of the university). The method throws a RuntimeException if the given value is null. .toString: Overrides the default method. Don't forget the @Override annotation. It represents a list a comma separated representations of Universitys enclosed in curly braces. For example, if there were two universities in the list, "George Mason University" and "University of Virginia", then we would return "(113: George Mason University, 273: University of Virginia)". you can add more as needed 6.3 manual grading criteria Optimal expansion of the array. No sorting of the list. Method insert must insert the value in the proper spot without any use of sorting. Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. . 7 CLASS Log When performing an involved process, we might want to output messages to a separate source to dig through later. This is often called logging. Our Log class will allow us to store multiple string messages one at a time via record (..), and also get back the whole sequence of messages via read(). You can add these calls anywhere you want in your code to help you with debugging. We will assume that each message is a single line of text. 7.1 fields your choice! What do you need, in order to complete this class's duties? 7.2 methods Log(): The constructor creates a new and empty) log. . copy(): Not a constructor, but creates a no-aliases copy of this log and returns it. Useful for sharing the information without allowing modification. . String[] read() : Returns an array of strings where each item in the array is the next line of recorded content. void record (String msg) : Records the given message as the next line inside the log object. Assumes there are no newline characters in the message. 7.3 manual grading criteria Make reasonable choices for the internal state of your Log class, and justify it in the comments preceding the fields. There are multiple good answers (full credit) available, you don't have to read our minds to succeed here. But do give more comments than usual explaining your reasoning. The purpose of this class is to keep track of all the students' applications to universities. maintains an array of student IDs and, for each student, an array of the university IDs they applied to. So, this class doesn't create a StudentList or a UniversityList, it only stores a mapping of IDs to IDs. 8.1 fields an array of type int[] that has a name of your choice! This array is for storing the student IDs. Keep in mind that this array does not necessarily have the same size with the StudentList as there may be students that haven't applied anywhere this year. an array of type int[][] that has a name of your choice! This array is for storing the University IDs. Each row corresponds to a certain student (there is one to one mapping with the previous array) and each column correponds to a university ID ordered from highest preference in column 0 to lowest preference in the last column). Keep in mind that not all students have the same number of applications. 8.2 methods Applications (String filename) : The constructor method initializes the internal array by loading data from a file. The file will contain one line per student with student_id, university_id_1, university_id_2, ... as in the example below: 1054,113, 141,165 1042,273, 141, 309, 165, 113 1049,165,309,113,141 1139,165,309 In the above example, student with id 1054 applied to 3 universities. His first preference is the university with id 113, his second preference is the university with id 141 and his third preference is the university with id 165. The second student has applied to 5 universities, the third student to 4 universities, and the fourth student to 2 universities. The records should be stored in the same order that they appear in the file. Sorting is not required. No need for incremental expansions of the array either; you can initialize it with the proper size right from the beginning. int size(): Returns the size of the array, getStudentId(int index) /: Returns the id of the student located at a certain index. int[] getStudentselections (int studentId): Returns a reference to the array of student applications in their original order of preference. Must throw a RuntimeException when the studentId doesn't exist int[] getStudentsByUniversity (int universityId) : Returns an array of student IDs that applied to a certain university (in the same order that they appear in the file). getUniversityBystudentsRank (int studentid, int rank) : Returns the ID of the university that student with studentId ranked at position rank in his preferences. Must throw a RuntimeException if either parameter is invalid. .toString : Overrides the default method and returns a slightly less ugly representation. Don't forget the goverride annotation. It represents a list a comma separated representations of applications enclosed in curly braces. For example, the return value for the above file would be "(1054: 113 141 165, 1042: 273 141 309 165 113, 1049: 165 309 113 141, 1139: 165 309)'. 8.3 manual grading criteria No need for advanced list operations (add, insert, etc.) Array must be populated by direct access to its values. Optimal reuse of other methods and classes. You must not rewrite any code if you can get the result you want by calling another method. Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. 9 CLASS ADMISSIONS The purpose of this class is to run the matching process for college admissions and also provide a few methods for running some basic statistics. Make sure you complete all other classes before you start working on this one. 9.1 fields your choice! What do you need, in order to complete this class's duties? 9.2 methods Admissions (StudentList s, Universitylist u, Applications a) : The constructor method is provided with the three objects that are needed to run the matching process. You must not modify any of the input parameters; work on copies if you want to make any changes. void matching (boolean minsaTactivated): This is the method that does all the work for the matching process. It takes one parameter only, a boolean flag, that defines whether the matching will be run with or without the minimum SAT threshold that each university has defined for its admissions process. In other words, we want to have the flexibility to adjust the process (for special situations like the covid-19 pandemic, etc.) and allow the matching to disregard the minimum SAT threshold that universities normally set. At this moment, we don't ask you to generate a specific log for the matching process, but you must integrate the logging in this method. All you have to do is invoke the Log's recordi message) method in certain locations of your code. You can use any messages you want right now, and later we might ask you to change them to specific ones (of course, there will be an announcement if that happens). StudentList studentswithoutApplication(): Returns a list of students that haven't applied to any university. Keep in mind that the Applications list is independent from the studentList; it doesn't necessarily mean that all students in the current year will apply to some university. StudentList studentsWithApplication(): Returns a list of students that have applied to at least one university this year. int numofMatchings(): Returns the total number of students (based on the applications, not on the whole list of students) that have be matched to a university. int num funfilledPositions(): Returns the total number of university positions that remain unfilled. Due to the SAT threshold and the specific order of preferences that students declare in their applications, it is not guranteed that all university positions will be filled. 9.3 manual grading criteria No modification of the inputs to the constructor. Proper use of logging for the matching process. Optimal reuse of other methods and classes. You must not rewrite any code Correct choices for the visibility, the parameters and the return types. Proper documentation of fields and methods, preferably in javadoc style. you can get the result you want by calling another method
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
