Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
3rd Edition
ISBN: 9780134038179
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 18, 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
TRUE OR FALSE
A method that uses a generic class parameter can be static or dynamic.
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…
Computer 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).
Chapter 18 Solutions
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Ch. 18.1 - Prob. 18.1CPCh. 18.1 - When ArrayList is used as a non-generic class, why...Ch. 18.1 - Suppose we use the following statement to...Ch. 18.1 - Assume we have used the statement shown in...Ch. 18.2 - Prob. 18.5CPCh. 18.2 - Prob. 18.6CPCh. 18.2 - Prob. 18.7CPCh. 18.2 - Prob. 18.8CPCh. 18.3 - Prob. 18.9CPCh. 18.3 - Prob. 18.10CP
Ch. 18.3 - Prob. 18.11CPCh. 18.3 - Prob. 18.12CPCh. 18.3 - Prob. 18.13CPCh. 18.3 - Prob. 18.14CPCh. 18.4 - Prob. 18.15CPCh. 18.5 - Prob. 18.16CPCh. 18.5 - Prob. 18.17CPCh. 18.6 - Prob. 18.18CPCh. 18.6 - Prob. 18.19CPCh. 18.6 - Prob. 18.20CPCh. 18.8 - Prob. 18.21CPCh. 18.8 - Prob. 18.22CPCh. 18.9 - Prob. 18.23CPCh. 18.9 - During the process of erasure, when the compiler...Ch. 18.9 - Prob. 18.25CPCh. 18 - Prob. 1MCCh. 18 - Prob. 2MCCh. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Look at the following method header: void...Ch. 18 - Prob. 7MCCh. 18 - Prob. 8MCCh. 18 - Prob. 9MCCh. 18 - The process used by the Java compiler to remove...Ch. 18 - True or False: It is better to discover an error...Ch. 18 - Prob. 12TFCh. 18 - True or False: Type parameters must be single...Ch. 18 - Prob. 14TFCh. 18 - Prob. 15TFCh. 18 - True or False: You cannot create an array of...Ch. 18 - Prob. 17TFCh. 18 - Prob. 18TFCh. 18 - Prob. 1FTECh. 18 - Assume the following is a method header in a...Ch. 18 - public class MyClassT { public static void...Ch. 18 - public class PointT extends Number super Integer {...Ch. 18 - Assume there is a class named Customer. Write a...Ch. 18 - Assume names references an object of the...Ch. 18 - Prob. 3AWCh. 18 - Prob. 4AWCh. 18 - Prob. 5AWCh. 18 - Prob. 6AWCh. 18 - Prob. 7AWCh. 18 - Prob. 1SACh. 18 - Look at the following method header: public T...Ch. 18 - Prob. 3SACh. 18 - Do generic types exist at the bytecode level?Ch. 18 - Prob. 5SACh. 18 - When the compiler encounters a class, interface,...Ch. 18 - Prob. 1PCCh. 18 - Prob. 2PCCh. 18 - Prob. 3PCCh. 18 - Prob. 4PCCh. 18 - Prob. 5PCCh. 18 - Prob. 6PCCh. 18 - 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
- 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_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_forward
- For 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_forwardCollection: List, Set and Map. Collection operations on primitives and custom object (Eg: For custom object Student having properties ID and Name) List , Set , Maparrow_forwardJavaDriver Program Write a driver program that contains a main method and two other methods. Create an Array of Objects In the main method, create an array of Food that holds at least two foods and at least two vegetables. You can decide what data to use. Method: Print Write a method that prints the text representation of the foods in the array in reverse order (meaning from the end of the array to the beginning). Invoke this method from main. Method: Highest Sugar Food Write a method that takes an array of Food objects and finds the Food that has the most sugar. Note that the method is finding the Food, not the grams of sugar. Hint: in looping to find the food, keep track of both the current highest index and value. Invoke this method from main.arrow_forward
- Part 2. fill Method Define a method in simpy named fill. Its purpose is to fill a simpy's values with a specific number of repeating values. The fill method will have two parameters following self: 1. The float value you are filling the values list in with. 2. The int number of values to fill in. The fill method is procedure-like in that it returns None and mutates the object the method is called on. After calling fill, the length of the Simpy object's values should be equal to the second argument given to fill. For example, consider the following usage and expected printed output, given inline, below: twos = Simpy([]) twos.fill(2.0, 3) print("Actual: ", twos, Expected: Simpy([2.0, 2.0, 2.0])") twos.fill(2.0, 5) print("Actual: ", twos, " - Expected: Simpy([2.0, 2.0, 2.0, 2.0, 2.0])") mixed = Simpy([]) mixed.fill(3.0, 3) - Expected: Simpy([3.0, 3.0, 3.0])") print("Actual: ", mixed, mixed.fill(2.0, 2) print("Actual: ", mixed, Expected: Simpy ([2.0, 2.0])") Pythonarrow_forwardpublic class Point { Create two variables: 1. Generic Variable: Variable Name: data 2. Generic Point: Varibale Name: next 10 11 12 13 /* 14 Constructor that takes in two parameters (see above comment) */ 15 16 17 18 19 20 /* 21 Setters and getters 22 */ 23 24 wwwm 25 26 /* 27 tostring: output should be in the format: 28 (data)--> (next) 29 Example: 30 Point p1,p2; 31 p1.data = 4; 32 p1.next = p2; 33 p1.toString () would be: (4) -->(p2) 34 35 36arrow_forwardc# programMake a class called Employees, with attributes Name, Gender, Experience, Salary and ID.Make a delegate called EligiblePromo. This delegate takes an employees object as a parameter and returns a boolean value indication whether or not the employee should be promoted.Make a PromoteEmployee() method that takes an arraylist of Employees and delegate of type EligiblePromo as parametersNB: PromoteEmployee() methos loops through each Employees object and passes it to the delegate(25)arrow_forward
- A class object can encapsulate more than one [answer].arrow_forwardJAVAclass: Main.java, Quadratic.java, TestQuadratic.java Create a class called Quadratic for representing a one-variable quadratic expression of the form: ax2 + bx + c a,b and c here are the coefficients. The class should contain the following methods: * A constructor that accepts values for a, b, and c. * public double getA() * public double getB() * public double getC() * public double evaluate (int x) * will return the value of the expression at point x * public double discriminant() - that will return (b2 - 4ac) * public boolean isImaginaryRoots() - roots are imaginary if (b2 - 4ac) < 0 * public boolean isRealRoots() - roots are real if (b2 - 4ac) >= 0 // these methods can only be invoked if the roots are not imaginary * public float firstRoot() * public float secondRoot() * public boolean isPerfectSquare(); // If the first and second roots are equal * Try to override the toString methods * Write a sample main program that will work as shown below. Example output:…arrow_forwardtreenode adt: class TreeNode(object):def __init__(self, data, left=None, right=None):"""Create a new TreeNode for the given data.Pre-conditions:data: Any data value to be stored in the KVTreeNodeleft: Another TreeNode (or None, by default)right: Another TreeNode (or None, by default)"""self.data = dataself.left = leftself.right = rightarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,