Concept explainers
Implement the findProduct method. This should look through the collection for a product whose id field matches the ID argument of this method. If a matching product is found, it should be returned as the method's result. If no matching product is found, return null.
This differs from the printProductDetai1s method, in that it will not necessarily have to examine every product in the collection before a match is found. For instance, if the first product in the collection matches the product ID, iteration can finish and that first Product object can be returned. On the other hand, it is possible that there might be no match in the collection. In that case, the whole collection will be examined without finding a product to return. In this case, the null value should be returned.
When looking for a match, you will need to call the get ID method on a Product.
Want to see the full answer?
Check out a sample textbook solutionChapter 4 Solutions
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Additional Engineering Textbook Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
Problem Solving with C++ (9th Edition)
Computer Science: An Overview (12th Edition)
Absolute Java (6th Edition)
- Can you implement the Student class using the concepts of encapsulation? A solution is placed in the "solution" section to help you, but we would suggest you try to solve it on your own first. You are given a Student class in the editor. Your task is to add two fields: ● String name ● String rollNumber and provide getter/setters for these fields: ● getName ● setName ● getRollNumber ● setRollNumber Implement this class according to the rules of encapsulation. Input # Checking all fields and getters/setters Output # Expecting perfectly defined fields and getter/setters. There is no need to add constructors in this class.arrow_forwardIt is time for you to demonstrate your skills in a project of your own choice. You must DESIGN,ANALYSE AND CODE any method for the GENERIC MyLinkedList class that will manipulate the linkedlist. You can decide yourself what it should be following the specification below:1. Purpose: The method must make logical sense – it should be of some purpose to somebody.You should describe in the text who will use the method for which purpose.2. Clearly explain the problem. Then clearly explain how your method will solve it.3. Test program: Test the method using a wrapped class like Integer however, you will get extramarks if you can test it with the new classes you created in I_Do1 and I_Do2.arrow_forwardFor the first part of this lab, copy your working ArrayStringList code into the GenericArrayList class.(already in the code) Then, modify the class so that it can store any type someone asks for, instead of only Strings. You shouldn't have to change any of the actual logic in your class to accomplish this, only type declarations (i.e. the types of parameters, return types, etc.) Note: In doing so, you may end up needing to write something like this (where T is a generic type): T[] newData = new T[capacity]; ...and you will find this causes a compiler error. This is because Java dislikes creating new objects of a generic type. In order to get around this error, you can write the line like this instead: T[] new Data = (T[]) new Object[capacity] This creates an array of regular Objects which are then cast to the generic type. It works and it doesn't anger the Java compiler. How amazing! Once you're done, screenshot or save your code for checkin later. For the second part of the lab,…arrow_forward
- It is time for you to demonstrate your skills in a project of your own choice. You must DESIGN,ANALYSE AND CODE any method for the GENERIC MyLinkedList class that will manipulate the linkedlist. You can decide yourself what it should be following the specification below:1. Purpose: The method must make logical sense – it should be of some purpose to somebody.You should describe in the text who will use the method for which purpose.2. Clearly explain the problem. Then clearly explain how your method will solve it.3. Test program: Test the method using a wrapped class like Integer wrapper class. All of this must be done using generic linked lists, and coded in java.arrow_forwardYou have n widgets, each of which is of a certain type. You want to determine whether there is a majority type; i.e., if there is a type t such that the number of widgets of type t is greater than n/2. For instance, the set of 7 widgets with types A, A, B,C, A, C, A, respectively has a majority type A since there are 4 widgets of that type. On the other hand, the set of 6 widgets with types A, A, B, C, D, A has no majority type. Unfortunately, you are unable to determine the type of any given widget. Instead, the only operation available to you is to call a subroutine Equality Test that takes two widgets as input and returns True if both are of the same type and False otherwise. Give a divide-and-conquer algorithm for determining if there is a majority type in a given set of n widgets. The running time of your algorithm is the number of calls made by your algorithm to Equality Test. Analyze the running time of your algorithm. Ideally, the running time of your algorithm should be…arrow_forwardIt is time for you to demonstrate your skills in a project of your own choice. You must DESIGN,ANALYSE AND CODE any method for the GENERIC MyLinkedList class that will manipulate the linkedlist. You can decide yourself what it should be following the specification below:1. Purpose: The method must make logical sense – it should be of some purpose to somebody.You should describe in the text who will use the method for which purpose.2. Clearly explain the problem. Then clearly explain how your method will solve itarrow_forward
- Examine the following graph. We will be running Dijkstra's algorithm starting at the node labeled S S 5 1 2 A E F 9. 3 4 6 B C D 2 5 10 5 We're using the version of Dijkstra's algorithm described here in lecture: note that the fringe and distro data structures are always changed at the same time. Give the resulting edgeTo and distão maps after vertex B is visited (i.e. its outgoing edges to C and E have been relaxed). Also give the resulting edgeTo and distro maps after Dijkstra's algorithm has completely finished execution. Initialize the edgeTo for each vertex as - which will represent null for us. Initialize the distro for each vertex as inf which we'll use to represent ∞o, except for S where it should be 0. So, before the first iteration, the values of these variables are: edgeTo = {A, B, C:-, D:-, E:-, F:-, G:-, S:-} distTo = {A: inf, B:inf, C:inf, D:inf, E:inf, F:inf, G:inf, S:0} The maps must be in this order. If you have the same mappings but in a different order (i.e. the…arrow_forwardThe code given below represents a saveTransaction() method which is used to save data to a database from the Java program. Given the classes in the image as well as an image of the screen which will call the function, modify the given code so that it loops through the items again, this time as it loops through you are to insert the data into the salesdetails table, note that the SalesNumber from the AUTO-INCREMENT field from above is to be inserted here with each record being placed into the salesdetails table. Finally, as you loop through the items the product table must be update because as products are sold the onhand field in the products table must be updated. When multiple tables are to be updated with related data, you should wrap it into a DMBS transaction. The schema for the database is also depicted. public class PosDAO { private Connection connection; public PosDAO(Connection connection) { this.connection = connection; } public void…arrow_forwardWrite a method called changeQueue to be considered inside the ArrayQueue class and has one parameter item of type E. Your method will change the queue in such a way that if the the first element of the queue and the last element of the queue are equal, the first and last elements in the queue will be replaced with item, otherwise. do not do any change. Similarly, the same process is done for the second element in the queue and the element before the last in the queue and so on. Assume you have a non-empty queue with even number of elements. You are not allowed to call any method from the the ArrayQueue class. Do not use iterators. Method head: public void changeQueue(E item) Example1: Before run: front rear "this" queue: 10 29 2 25 10 Item1: 100 After run: front rear "this" queue: 100 29 100 100 5 100arrow_forward
- Answer the given question with a proper explanation and step-by-step solution. Write a method that takes in an array of Point2D objects, and then analyzes the dataset to find points that are close together. Be sure to review the Point2D API. In your method, if the distance between any pair of points is less than 10, display the distance and the (x,y)s of each point. For example, "The distance between (3,5) and (8,9) is 6.40312." The complete API for the Point2D ADT may be viewed at http://www.ime.usp.br/~pf/sedgewick-wayne/algs4/documentation/Point2D.htmlLinks to an external site.. Do not compare a point to itself! Try to write your program directly from the API - do not review the ADT's source code. (Don't worry too much about your answer compiling - focus on using an API from its documentation.) Your answer should include only the method you wrote, do not write a complete program.arrow_forwardWrite a method called changeQueue to be considered inside the ArrayQueue class and has one parameter item of type E. Your method will change the queue in such a way that if the the first element of the queue and the last element of the queue are equal, the first and last elements in the queue will be replaced with item, otherwise, do not do any change. Similarly, the same process is done for the second element in the queue and the element before the last in the queue and so on. Assume you have a non-empty queue with even number of elements. You are not allowed to call any method from the the ArrayQueue. class. Do not use iterators. Method head: public void changeQueue(E item) Examplet: Before run: front rear "this" queue: 10 29 2 25 10 Item1: 100 After run: front rear "this" queue: 100 29 100 100 5 100 Use the editor to format your answerarrow_forwardImplement solutions for the following methods: • getCourseSize() – returns the number of students registered in the course (not in the waitlist). It should maintain the public size variable that keeps track of the number of students registered. • getRegisteredIDs() – returns an array of int[], namely registered student id’s. The length of the array is the size (number of students) in the course. • getRegisteredStudents() – returns an array of type Student[], namely the registered Students. The length of the array is the current size (number of students) of the course. • getWaitlistedIDs() – returns an array of type int[], namely the ids of students in the waitlist. • getWaitlistedStudents() – returns an array of Students in the waitlist. public class Course { public String code; public int capacity; public SLinkedList<Student>[] studentTable; public int size; public SLinkedList<Student> waitlist; public Course(String code) {…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education