Modify the Student class in Listing 8.2 so that it implements the comparable interface. Define the compareTo method to order Student objects based on the value in studentNumber. In a main method create an array of at least five Student objects, sort them using Arrays.sort, and output the students. They should be listed by ascending student number Next, modify the compareTo method so it orders Student objects based on the lexicographic ordering of the name variable. Without modification to the main method, the
Want to see the full answer?
Check out a sample textbook solutionChapter 8 Solutions
Java: Intro. to Prob. Solv... (Looseleaf)
Additional Engineering Textbook Solutions
Differential Equations: Computing and Modeling (5th Edition), Edwards, Penney & Calvis
Introduction To Programming Using Visual Basic (11th Edition)
Starting out with Visual C# (4th Edition)
Starting Out with Java: Early Objects (6th Edition)
Starting Out with C++: Early Objects (9th Edition)
Starting Out with Programming Logic and Design (5th Edition) (What's New in Computer Science)
- Consider the Person class in Problem 1. Implement the interface PersonPriorityQueueInterface provided in the assignment. In your implementation, you must use an instance of AList (which you used in Problem 1) to store the list of persons. We consider that a person whose age is higher than a second person also has a higher priority. Thus, the method peek(), for example, should return the person who is the oldest in the list. Your implementation should be O(n) for add, and O(1) for the remaining methods. Consider the Person class in Problem 1. Implement the interface PersonPriorityQueueInterface provided in the assignment. In your implementation, you must use an instance of AList (which you used in Problem 1) to store the list of persons. We consider that a person whose age is higher than a second person also has a higher priority. Thus, the method peek(), for example, should return the person who is the oldest in the list. Your implementation should be O(n) for add, and O(1)…arrow_forwardImprove the method printList to print out the details of all publications ordered on the category of the publications, and then on the title within each category. Note: currently there are only 2 categories, i.e. Book and Journal, but the project may be expended by adding other categories, e.g. Newspaper etc. Here are my four classes. public class Database {private ArrayList<Publication> publicationList; // An array list collection of publications /*** Create a new database*/public Database() {publicationList = new ArrayList<Publication>();} /*** Add a publication** @param publication The publication to be added*/public void addPublication(Publication publication) {if (publicationList.contains(publication)) {System.out.println("This publication has already been added to the list: " + publication);} else {publicationList.add(publication);}} /*** Get the total number of publications** @return The total number of publications*/public int getTotal() {return…arrow_forwardComplete the Course class by implementing the printRoster() method, which outputs a list of all students enrolled in a course and also the total number of students in the course. Given classes: Class Course represents a course, which contains an ArrayList of Student objects as a course roster. (Type your code in here) Class Student represents a classroom student, which has three fields: first name, last name, and GPA. (Hint: toString() returns a String representation of the Student object.) Ex: If the following students and their GPA values are added to a course: Henry Cabot with 3.5 GPABrenda Stern with 2.0 GPAJane Flynn with 3.9 GPALynda Robison with 3.2 GPA then the program output is: Henry Cabot (GPA: 3.5) Brenda Stern (GPA: 2.0) Jane Flynn (GPA: 3.9) Lynda Robison (GPA: 3.2) Students: 4 course.java import java.util.ArrayList; // Class representing a studentpublic class Course { private ArrayList<Student> roster; // Collection of Student objects public Course() {…arrow_forward
- Implement the Solver class. In doing so, you are allowed to define other classes to help you (as well as use “built-in” Java classes or the book’s classes). The point of the solver class is the solve method which takes a board/puzzle configuration represented as a 2D array of booleans and returns a char array containing a minimal sequence of moves that will lead to the solved board (all the cells around the edges being filled). The board configuration is passed in as a 5-by-5 boolean array of Booleans with exactly 16 true cells (filled) and 9 false cells (empty). The solve method then returns an array of characters representing a minimal sequence of moves that solves the puzzle. In other words, if the characters from the returned array are used in order as input to the move method on the Board object representing the initial configuration, the resulting board configuration represents the solved board. Furthermore, the solution must be minimal in the sense that there are no solutions…arrow_forwardImplement the Solver class. In doing so, you are allowed to define other classes to help you (as well as use “built-in” Java classes or the book’s classes). The point of the solver class is the solve method which takes a board/puzzle configuration represented as a 2D array of booleans and returns a char array containing a minimal sequence of moves that will lead to the solved board (all the cells around the edges being filled). The board configuration is passed in as a 5-by-5 boolean array of Booleans with exactly 16 true cells (filled) and 9 false cells (empty). The solve method then returns an array of characters representing a minimal sequence of moves that solves the puzzle. In other words, if the characters from the returned array are used in order as input to the move method on the Board object representing the initial configuration, the resulting board configuration represents the solved board. Furthermore, the solution must be minimal in the sense that there are no solutions…arrow_forwardImplement the Solver class. In doing so, you are allowed to define other classes to help you (as well as use “built-in” Java classes or the book’s classes). The point of the solver class is the solve method which takes a board/puzzle configuration represented as a 2D array of booleans and returns a char array containing a minimal sequence of moves that will lead to the solved board (all the cells around the edges being filled). The board configuration is passed in as a 5-by-5 boolean array of Booleans with exactly 16 true cells (filled) and 9 false cells (empty). The solve method then returns an array of characters representing a minimal sequence of moves that solves the puzzle. In other words, if the characters from the returned array are used in order as input to the move method on the Board object representing the initial configuration, the resulting board configuration represents the solved board. Furthermore, the solution must be minimal in the sense that there are no solutions…arrow_forward
- . For the TimeSpan class described below, add a compareTo method that takes another TimeSpan object as a parameter & returns: -1 if this TimeSpan is SMALLER than to the TimeSpan object passed in as a parameter 0 if both TimeSpans are the same 1 if this TimeSpan is GREATER than the TimeSpan object passed in as a parameter Add code, as needed, to allow the Collections class to sort the ArrayList of TimeSpan objects import java.util.*; public class TimeSpan implements { private int hours; private int minutes; public TimeSpan(int hours1, int minutes1) { hours = 0; minutes = 0; add(hours1, minutes1); } public void add(int hours1, int minutes1) { hours += hours1; minutes += minutes1; while (minutes > 60) { minutes -= 60; // convert 60 min --> 1 hour hours++; } } public void add(TimeSpan time) { add(time.hours, time.minutes); }…arrow_forwardCan someone help in java Create a class Hotel with member data, hotel name and category (number of stars).For the Hotel class, write the standard methods (constructors, get & set, toString ()) and the getWiFi () method, which returns the wifi address formed by the first 4 letters of the hotel name and any number (you can get it with the random number generator) .In main (), illustrate the use of the Hotel class. Create a PopulatedHotel class, successor to the Hotel with an additional ArrayList <> field on behalf of the hotel guests.For the PopulatedHotel class, write standard methods (constructors, get & set, toString ()), with the get and set methods working with separate elements of ArrayList <>. For the PopulatedHotel class, also write methods for adding and removing a guest and a method for checking that a person is staying at the hotel. In main (), illustrate the use of the PopulatedHotel class.arrow_forwardGiven a class Square with an instance variable width, provide a recursive getArea method. Construct a square whose width is one less than the original and call its getArea method. Make a resource class that contains all of the methods and make a driver class in a separate file, and the driver class only needs to call those methods. The driver class needs to have only 5 lines of code. The code will need to be written in Java. Please help me with exactly what I asked for helparrow_forward
- Implement the Comparable interface in the Laptop class. When you implement the compareTo() method from the Comparable interface you must use at least two instance variables in the comparison. Once you have implemented the Comparable interface, in the main method: • Add the following comment - // Part 5 - Generic methods • Write the code to sort the Arraylist that you created in Part 4 . • Add the following code - System.out.println("------------------------------");arrow_forwardIn Java, give an example of a method that requests Name input. Then show another method, in the same application, that searches an object array in an object class for duplicates and reports an error when there is one. How would you utilize the second method with the first one?arrow_forwardIf a method given an ArrayList as a parameter calls a second method giving it the same ArrayList, and that second method deletes one of the elements, this will: (produce a non-deterministic result? trigger an error? have an effect? have no effect?) on the first ArrayList. Java uses: (pass by reference? pass by value?) So when an object is passed to a method, what is actually passed is just : (the name of the object? a pointer to the object? the index of the object?) . Select the correct answerarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning