Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
4th Edition
ISBN: 9780134787961
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 17, Problem 5PC
Program Plan Intro
ObjectBinarySearcher class
Program plan:
- Create the class “ObjectBinarySearcher”,
- Define the generic method “search()” that implement “Comparable” interface.
- Declare the required variables.
- Use the while loop to check whether the searching value is found in the array or searching reaches the end of an array.
- Calculate the “middle” value.
- Check whether the “middle” value is at index “0”. If yes, then set the boolean value for “found” to be “true”.
- Assign the “middle” value index to “position” variable.
- Check whether the searching value when compared to “middle” is greater than 0.
- If yes, search the left half of the array otherwise search the right half of the array.
- Return the position of the element.
- Create the class “ObjectBinarySearchTest”,
- Define the “main()” function,
- Assign the string values.
- Read the input from the user through “Scanner” to search the value in the array.
- Execute “do…while” loop to search the value in an array until it iterates all the elements in an array.
- Call the “search()” method to find the searching element in the array.
- If the searching value is found, then print the corresponding message otherwise print the message as “element is not found in the array”.
- If the user needs to continue search some other element then press “Y”, or “y” to continue and “N”, or “n” to exit the program.
- Define the “main()” function,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
code:
public class PasswordGeneratorAndStorage {/*** Adds an application to the applications ArrayList. If index is -1, add application* to the end of applications. Else is index is within the size of applications, add* application at that index in applications. Otherwise, return. However, if applications * or application is null, return.* * @param applications* @param application* @param index*/public static void addApplication(ArrayList<String> applications, String application, int index) {// TODO: FILL IN BODY}/*** Generates a random password of length passwordLength and adds it to the end of* passwords if index is -1, or adds it to the index of passwords if index is within the* size of passwords (similar to how the addApplication adds an application). To generate* the random password, use rand to generate a random int within the size of characters. You* can then use this int to grab the char at that index in characters and concatenate that* to your String password variable.…
Create a SameItem Interface: The SameItem interface will be a generic interface.SameItem will have a single method: isSameAs(T) that returns a boolean
Java Objects and Linked Data: Select all of the following statements that are true.
The Java Class Library's class ArrayList implements the LinkedList interface.
In Java, when one reference variable is assigned to another reference variable,
both references then refer to the same object.
In Java, the "equals"-method that any object inherits can be overwritten to
compare objects field by field.
Chapter 17 Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Ch. 17.1 - Prob. 17.1CPCh. 17.1 - When ArrayList is used as a non-generic class, why...Ch. 17.1 - Suppose we use the following statement to...Ch. 17.1 - Assume we have used the statement shown in...Ch. 17.2 - Prob. 17.5CPCh. 17.2 - Prob. 17.6CPCh. 17.2 - Prob. 17.7CPCh. 17.2 - Prob. 17.8CPCh. 17.3 - Prob. 17.9CPCh. 17.3 - Prob. 17.10CP
Ch. 17.3 - Prob. 17.11CPCh. 17.3 - Prob. 17.12CPCh. 17.3 - Prob. 17.13CPCh. 17.3 - Prob. 17.14CPCh. 17.4 - Prob. 17.15CPCh. 17.5 - Prob. 17.16CPCh. 17.5 - Prob. 17.17CPCh. 17.6 - Prob. 17.18CPCh. 17.6 - Prob. 17.19CPCh. 17.6 - Prob. 17.20CPCh. 17.8 - Prob. 17.21CPCh. 17.8 - Prob. 17.22CPCh. 17.9 - Prob. 17.23CPCh. 17.9 - During the process of erasure, when the compiler...Ch. 17.9 - Prob. 17.25CPCh. 17 - Prob. 1MCCh. 17 - Prob. 2MCCh. 17 - Look at the following method header: void...Ch. 17 - Look at the following method header: void...Ch. 17 - Look at the following method header: void...Ch. 17 - Look at the following method header: void...Ch. 17 - Prob. 7MCCh. 17 - Prob. 8MCCh. 17 - Prob. 9MCCh. 17 - The process used by the Java compiler to remove...Ch. 17 - True or False: It is better to discover an error...Ch. 17 - Prob. 12TFCh. 17 - True or False: Type parameters must be single...Ch. 17 - Prob. 14TFCh. 17 - Prob. 15TFCh. 17 - True or False: You cannot create an array of...Ch. 17 - Prob. 17TFCh. 17 - Prob. 18TFCh. 17 - Prob. 1FTECh. 17 - Assume the following is a method header in a...Ch. 17 - public class MyClassT { public static void...Ch. 17 - public class PointT extends Number super Integer {...Ch. 17 - Assume there is a class named Customer. Write a...Ch. 17 - Assume names references an object of the...Ch. 17 - Prob. 3AWCh. 17 - Prob. 4AWCh. 17 - Prob. 5AWCh. 17 - Prob. 6AWCh. 17 - Prob. 7AWCh. 17 - Prob. 1SACh. 17 - Look at the following method header: public T...Ch. 17 - Prob. 3SACh. 17 - Do generic types exist at the bytecode level?Ch. 17 - Prob. 5SACh. 17 - When the compiler encounters a class, interface,...Ch. 17 - Prob. 1PCCh. 17 - Prob. 2PCCh. 17 - Prob. 3PCCh. 17 - Prob. 4PCCh. 17 - Prob. 5PCCh. 17 - Prob. 6PCCh. 17 - Prob. 7PC
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- NOTE: DO NOT COPY FROM ANOTHER QUESTION Directions: 1. Show the ArrayStackADT interface 2. Create the ArrayStackDataStrucClass<T> with the following methods: default constructor, overloaded constructor, copy constructor, initializeStack, isEmptyStack, isFullStack, push, peek, void pop 3. Create the PrimeFactorizationDemoClass: instantiate an ArrayStackDataStrucClass<Integer> object with 50 elements. Use a try-catch block in the main( ) using pushes/pops. 4. Exception classes: StackException, StackUnderflowException, StackOverflowException5. Show the 4 outputs for the following: 3,960 1,234 222,22213,780arrow_forwardJava Programming Define a class CollectionBooks. This class has a data member list of type Book using the ArrayList collection. Define method add. This method add the any object to list. Define printAll. This method display all the added object in the list. Define printAll. This method display all the added object in the list. · Define int count. This method returns the number of objects added in the list. Define Book search(Object e). This method returns the object being search if not found return null. Define void remove(int index). This method remove the object in a list Add a main method with the following menu:1 – Add 2 – Count 3 – Print4 – Search 5 – Delete 6 - Exitarrow_forwardJava Programming Class Car Attributes (all private): vin: String (5 digits) make: String model: String year: int price: double Methods: Parameterized constructor for initializing a new Car instance Getters for all attributes toString method to display a Car's attributes Executable Class Create an array of at least ten Car objects. Be sure to use many with identical last years and different prices. Create an ArrayList from the array. Shuffle the ArrayList. Sort the ArrayList first by year and then by price. See page 790-791. Using the forEach method and a lambda expression, print all cars sorted as above. Create a LinkedList from the ArrayList. Create an iterator capable of cycling both forward and backward through the LinkedList. Iterate forward through the entire LinkedList but without generating any output. Then iterate backwards through the LinkedList to print the cars data.arrow_forward
- in C# Create a Bank class with the following properties: List of bank accounts (List<BankAccount>) Create the following methods in the Bank class: AddAccount(BankAccount account): Method to add a new bank account to the list of accounts RemoveAccount(string accountNumber): Method to remove an existing bank account from the list of accounts SearchAccount(string accountNumber): Method to search for an existing bank account and return the account details my code is // This class represents a bank, which has a list of BankAccount objects as one of its properties. public class Bank { // This property holds a list of BankAccount objects belonging to the bank. public List<BankAccount> Accounts { get; set; } // This constructor initializes the list of accounts for the bank. public Bank() { Accounts = new List<BankAccount>(); } // This method adds a new BankAccount object to the bank's list of accounts. public void…arrow_forwardComputer Science You are required to develop a small chatting application where two or more friends can communicate each other through messages. Create a class Message which has Date d, and message (string). Provide getters/setters, constructors, toString. Create a class Friend having String name, String contact, email and ArrayList of Messages provide getters/setters, constructors, toString addMessage(Message m) method which will add new message to the list. Provide following options to the user using JFrame. Login which will help user login to the application. View Friends (Display List of All Friends) View Messages ( This should display all message of a Friend) Send message (This should ask for friend name and message match the friend name and write that message to the array list).arrow_forwardTask 4. Utility classes Implement a Menu-Driven program of ArrayList class using the above scenario and perform the following operations. Create an object of ArrayList class based on the scenario with explanations of the method Create a method that will allow inserting an element to ArrayList Class based on the scenario. The input field must be validated as Create a method to delete specific elements in the ArrayList with explanations of the methodarrow_forward
- Remove is a method that is defined.arrow_forwardPyCharm Programming! A Game object knows its name and the number of avators is currently has. It is initialized without Avatars objects. It has a method startGame, which initializes an internal empty list of Avator objects. It has a method to add one Avator object at a time to the Game. It also has a method to remove an Avatar object by the Avatar’s name. A Game object also has a method to animate all its current Avatar objects. Furthermore, it has a method to stopGame, which destroys all current Avator objects in its internal list. The Avatar class creates simple human-type Avatars, which have attributes such as name, hair color, height, superpower. An Avatar object can change its hair color and superpower. It also has a method that “animates” the avatar. The animate() method should simply be a print message such as “Hello! I am …! I have…. hair and my super power is….!”, using the Avatar’s object variables. In main program, create 3 different Avatar objects that resemble 3…arrow_forwardObserver pattern The PhoneModel class stores a phone number as a list of digits, and the Keypad class has this method: public void simulateKeyPresses(int numKeyPresses)(0 that allows the user to enter digits one at a time then save each digit in the list. The Screen wants to respond to each key being entered. Make the model notify the observers whenever a new digit is entered for the phone number. The first observer prints the newest digit out to the screen The second observer prints "Now dialing 12345678901.." out to the screen (where the number is the number the model has). Only the Screen class can print to the screen The model must be decoupled from the Other classes.arrow_forward
- JAVA programming language DescriptionYour job is to write your own array list (growable array) that stores elements that are objects of a parentclass or any of its child classes but does not allow any other type of objects to be stored. You will createa general data class and two specific data classes that inherit from that class. You will then write thearray list to hold any objects of the general data class. Finally, you will test your array list using JUnittests to prove that it does what it should.DetailsYour array list must be named DataList. Start with an array with room for 10 elements. Keep all elementscontiguous (no blank places) at the low end of the indices. When the array is full, grow it by doubling thesize. (Do not use any built-in methods to copy the array elements. Write your own code to do this.) Youdo not have to shrink the array when elements are removed. The array list must have the followingpublic methods (listed in UML style where GenClass is your general data…arrow_forwardfunction removeErrMsgs() { var errMessages = document.getElementsByClassName('msg');for (let msg of errMessages) {msg.innerHTML = "";}}function validateValues() {var toBeReturned = true;removeErrMsgs();var fname = document.getElementById("fname").value;if (fname.length > 30) {document.getElementsByClassName('msg')[0].innerHTML = "First name can not be longer than 30 characters";toBeReturned = false;} var lname = document.getElementById("lname").value;if (lname.length > 30) {document.getElementsByClassName('msg')[1].innerHTML = "Last name can not be longer than 30 characters";toBeReturned = false;} var phone = document.getElementById('num').value;if (phone.length > 8) {document.getElementsByClassName('msg')[2].innerHTML = "Phone number can not be greater than 8 numbers";toBeReturned = false;} var items = document.getElementById('items').value;if (items > 4 || items < 2) {document.getElementsByClassName('msg')[3].innerHTML = "Item numbers should be between 1 and…arrow_forwardFor the numbers class add the following methods: A copy constructor. Overloaded == operator: This will return true if arrays in two different Numbers objects have the same sum of arrays, false otherwise. Overloaded < operator: Returns true if the sum of the numbers in the array of one Numbers object is less than the sum of the numbers in the array of the second Numbers object. For example, a < b is true if the numbers in a's array have a smaller sum than the numbers in b's array. Returns false otherwise. Overloaded postfix ++ operator: Increments every element in the object's array by 1. Overloaded [ ] operator: allows updating the appropriate element of the Numbers object's array. The method does nothing should terminate the program (calling exit) (note: updated on 11/6) if the user specifies an invalid index. Overloaded << operator: allows a Numbers object to be used with cout. For example: cout << a; This will cause the contents of the object's…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- 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
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education