BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 17PE
Program Plan Intro
Implementation of hash set
Program plan:
- In a file “HashSet.java”, import necessary package, and create a class “HashSet”,
- Declare the array of “Node” type.
- Declare the necessary variable.
- Define the constructor to create a hash table.
- Create an array and set the current size to “0”.
- Define the method “contains()”,
- Assign the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash value.
- Assign the current node value.
- Execute loop till array becomes null,
- Check the condition,
- Return true.
-
- Assign the current value.
- Check the condition,
- Define the method “add()” to add the element to the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Execute a loop,
- Check the condition,
- Return false.
-
- Assign the next value to the value in the current node.
- Check the condition,
- Create a new node.
- Assign the value to new node value.
- Assign the value to the next node.
- Assign the new node value to the bucket.
- Increment the size.
- Return true.
- Define the method “remove()” to remove the object from the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Set null to the previous node.
- Execute a loop,
- Check the condition,
- Check whether the previous node contains null value,
-
- If it is true, assign the next node value to the bucket.
- Otherwise,
-
- Assign the next of the current node value to the next of the previous node value.
- Decrement the size.
- Return true.
-
-
- Assign the current node value to the previous node value.
- Assign the next of the current node value to the current node.
-
- Check the condition,
- Return false.
- Define the method “iterator ()” to return an iterator that traverse the set elements,
- Return the object of “HashSetIterator”.
- Define the method “size ()” to return the size of the set.
- Create a class “Node”,
- Declare the object for “Object”.
- Declare the object of “Node”.
- Create a class “HashSetIterator”,
- Declare the necessary variables.
- Define the constructor to create a hash set that point to the first element of the hash set.
- Define the method “asNext()”,
- Check whether the next node contains null,
- If it is true, returns true.
-
-
- Check whether the current node and the next of the current node is not null,
- Assign the next of the current node value to the next node.
- Return true.
- Execute a loop,
- Check whether the bucket contains not null value,
- If it is true, assign the bucket value to the next node.
- Assign the value to the bucket.
- Returns true.
- Check whether the bucket contains not null value,
- Returns false.
- Check whether the current node and the next of the current node is not null,
-
- Check whether the next node contains null,
- Define the method “next()”,
- Check the condition,
- Throw an exception “NoSuchElementException”.
-
-
- Assign the next node value to the current node value.
- Assign the null value to the next node.
- Return the current node value.
-
- Check the condition,
- Define the method “remove()”,
- Throw an exception “UnsupportedOperationException”.
- In a file “HashSetTest.java”, import necessary package, and create a class “HashSetTest”,
- Define the “main()” method,
- Create an object fro “HashSet”.
- Add the element “Tom” to the set.
- Add the element “Jerry” to the set.
- Add the element “Nick” to the set.
- Add the element “James” to the set.
- Add the element “Johny” to the set.
- Add the element “David” to the set.
- Add the element “Else” to the set.
- Add the element “Joy” to the set.
- Add the element “Francis” to the set.
- Add the element “Jenny” to the set.
- Add the element “Casendra” to the set.
- Add the element “Juliet” to the set.
- Remove the element “Juliet” from the set.
- Remove the element “Jaen” from the set.
- Create Iterator.
- Execute a loop,
- Print the next element in the set.
- Define the “main()” method,
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
Add a method called transfer () to the BankAccount class, that takes in an amount and
destinationAccount as input and transfer the funds from current account to destination
account.
This method should return the balance of the current account after the transfer, also should
check for the sufficient balance in current account before proceeding the transfer and if there is
insufficient balance return an error message "Insufficient balance".
Modify the BankAccount Test class, so that it calls the transfer () method and prints the
balance after transfer.
Make sure that the transfer() method updates the balance of both the current account
and the destination account.
• Create a public method called deposit() that takes in an amount of type double as input
and adds the amount to the current balance. This method should also return the updated
balance.
• Create another public method called withdraw() that takes in an amount of type double as
input, checks if the withdrawal amount is less than the current balance, and if so, subtracts
the amount from the balance. If the withdrawal amount is greater than the current balance,
the method should return an error message "Insufficient balance".
• Create a public method getAccountInfo() that returns the account information in the format
"Account Number: xxxxx, Account Holder: John Doe, Account Type: SAVINGS/CHECKING,
Balance: $xxxX.XX".
• Finally, create a constructor method that takes in the account number, account holder name,
initial balance and account type as input and initializes the corresponding instance variables.
In the BankAccount class, make sure to use the private access modifier for the
instance…
Create a BankAccount Test class that contains a main() method that instantiates an object of
type BankAccount, with account number of 12345, account holder name of "John Doe", initial
balance of $1000 and account type as SAVINGS . Then use the deposit() and withdraw()
methods of the object to deposit $500 and withdraw $300. Finally, use the getAccountInfo()
method to print the current account information.
Use the getAccountInfo() method to verify that the deposit and withdrawal actions are
performed correctly and that the account information is updated accordingly.
Chapter 16 Solutions
BIG JAVA: LATE OBJECTS
Ch. 16.1 - Prob. 1SCCh. 16.1 - Prob. 2SCCh. 16.1 - Prob. 3SCCh. 16.1 - Prob. 4SCCh. 16.1 - Prob. 5SCCh. 16.1 - Prob. 6SCCh. 16.1 - Prob. 7SCCh. 16.2 - Prob. 8SCCh. 16.2 - Prob. 9SCCh. 16.2 - Prob. 10SC
Ch. 16.2 - Prob. 11SCCh. 16.2 - Prob. 12SCCh. 16.3 - Prob. 13SCCh. 16.3 - Prob. 14SCCh. 16.3 - Prob. 15SCCh. 16.3 - Prob. 16SCCh. 16.3 - Prob. 17SCCh. 16.3 - Prob. 18SCCh. 16.4 - Prob. 19SCCh. 16.4 - Prob. 20SCCh. 16.4 - Prob. 21SCCh. 16.4 - Prob. 22SCCh. 16.4 - Prob. 23SCCh. 16.4 - Prob. 24SCCh. 16 - Prob. 1RECh. 16 - Prob. 2RECh. 16 - Prob. 3RECh. 16 - Prob. 4RECh. 16 - Prob. 5RECh. 16 - Prob. 6RECh. 16 - Prob. 7RECh. 16 - Prob. 8RECh. 16 - Prob. 9RECh. 16 - Prob. 10RECh. 16 - Prob. 11RECh. 16 - Prob. 12RECh. 16 - Prob. 13RECh. 16 - Prob. 14RECh. 16 - Prob. 15RECh. 16 - Prob. 16RECh. 16 - Prob. 17RECh. 16 - Prob. 18RECh. 16 - Prob. 19RECh. 16 - Prob. 20RECh. 16 - Prob. 21RECh. 16 - Prob. 22RECh. 16 - Prob. 23RECh. 16 - Prob. 24RECh. 16 - Prob. 25RECh. 16 - Prob. 26RECh. 16 - Prob. 1PECh. 16 - Prob. 2PECh. 16 - Prob. 3PECh. 16 - Prob. 4PECh. 16 - Prob. 5PECh. 16 - Prob. 6PECh. 16 - Prob. 7PECh. 16 - Prob. 8PECh. 16 - Prob. 9PECh. 16 - Prob. 10PECh. 16 - Prob. 11PECh. 16 - Prob. 12PECh. 16 - Prob. 13PECh. 16 - Prob. 14PECh. 16 - Prob. 15PECh. 16 - Prob. 16PECh. 16 - Prob. 17PECh. 16 - Prob. 18PECh. 16 - Prob. 19PECh. 16 - Prob. 20PECh. 16 - Prob. 21PECh. 16 - Prob. 1PPCh. 16 - Prob. 2PPCh. 16 - Prob. 3PPCh. 16 - Prob. 4PPCh. 16 - Prob. 5PPCh. 16 - Prob. 6PPCh. 16 - Prob. 7PPCh. 16 - Prob. 8PPCh. 16 - Prob. 9PPCh. 16 - Prob. 10PPCh. 16 - Prob. 11PPCh. 16 - Prob. 12PPCh. 16 - Prob. 13PPCh. 16 - Prob. 14PPCh. 16 - Prob. 15PPCh. 16 - Prob. 16PPCh. 16 - Prob. 17PP
Knowledge Booster
Similar questions
- Add a new class checkingAccount that inherits from the BankAccount class, and has a double instance variable overdraft Limit in addition to the variables inherited from the superclass. • Create a constructor for the checking Account class that takes in the account number, account holder name, initial balance, account type and overdraft limit as input, and uses the super keyword to call the constructor of the superclass, passing in the account number, account holder name and initial balance, account type. • Re-write the withdraw() method in the checkingAccount class so that it first checks if the withdrawal amount is less than the current balance plus the overdraft limit. If it is, the withdrawal is allowed and the balance is updated. If not, the method should return an error message "Insufficient funds". • Create a new method displayOverdraft Limit() that returns the overdraft limit of the CheckingAccount . • In the BankAccountTest class, create a new object of type Checking Account…arrow_forwardExplain what the rwpos() function does. What is the base case? What values are passed to the recursive call? What value is returned by the original function call?arrow_forwardExplain what the rs() function does. What value(s) does it return? Is that value always the same? Why or why not?arrow_forward
- Explain what the rwsteps() function does. What is the base case? What values are passed to the recursive call? What is printed each time rwsteps() is called? What value is returned by the original function call?arrow_forwardmodule: java Question3: (30 MARKS) Passenger Rail Agency for South Africa Train Scheduling System Problem Statement Design and implement a train scheduling system for Prasa railway network. The system should handle the following functionalities: 1. Scheduling trains: Allow the addition of train schedules, ensuring that no two trains use the same platform at the same time at any station. 2. Dynamic updates: Enable adding new train schedules and canceling existing ones. 3. Real-time simulation: Use multithreading to simulate the operation of trains (e.g., arriving, departing). 4. Data management: Use ArrayList to manage train schedules and platform assignments. Requirements 1. Add Train Schedule, Cancel Scheduled Train, View Train Schedules and Platform Management 2. Concurrency Handling with Multithreading i.e Use threads to simulate train operations, Each…arrow_forwardjava: Question 1: (40 MARKS) E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return Bicycle View Borrowed Bicycles Search Bicycle ExitEnter your choice: Question 2 (30 MARKS) Pentagonal Numbers Problem Statement Create a Java program that will display the first 40 pentagonal…arrow_forward
- Request for Java Programming Expert Assistance - Module: Java 731 Please assign this to a human expert for detailed Java programming solutions. The AI keeps attempting to answer it, but I need expert-level implementation. Question 1 (40 MARKS) - E-Hailing Bicycle Management System Case Study:An e-hailing company needs a Java system to manage bicycle rentals. Key requirements: Users (families with children ≤18) can borrow up to 2 bicycles. Track bicycles (name, make, type, availability) and users (name, ID, borrowed bikes). Use a multidimensional array for bicycle data. Functionalities: Add/view bicycles. Borrow/return bicycles. Display borrowed bikes and search functionality. Menu-driven program with the following options: Copy 1. Add Bicycle 2. View All Bicycles 3. Borrow Bicycle 4. Return Bicycle 5. View Borrowed Bicycles 6. Search Bicycle 7. Exit Question 2 (30 MARKS) - Pentagonal Numbers Problem Statement:Write a Java program to display the first 40…arrow_forwardmodule , java 731 Question 1: (40 MARKS) E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return Bicycle View Borrowed Bicycles Search Bicycle ExitEnter your choice:arrow_forwardthis module is java 371. please answer all questions correctly , include all comments etc and follow all requirements. Question 1: (40 MARKS) E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return Bicycle View Borrowed Bicycles Search Bicycle ExitEnter your choice: Question 2…arrow_forward
- this module is java 371. please answer all questions correctly , include all comments etc and follow all requirements. Question 1: (40 MARKS) E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return Bicycle View Borrowed Bicycles Search Bicycle ExitEnter your choice: Question 2…arrow_forwardthis module is java 371. please answer all questions correctly , include all comments etc and follow all requirements. Question 1: (40 MARKS) E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return Bicycle View Borrowed Bicycles Search Bicycle ExitEnter your choice: Question 2…arrow_forwardthis module is human computer interaction 700. answer all correctly . QUESTION ONE 1.1 Define interaction design and explain its significance in modern technology. 1.2 Differentiate between good and poor design by providing two examples. 1.3 Explain how digital transformation has changed human interactions with technology. 1.4 What are the key considerations when designing an interactive product? (30 MARKS) (5 Marks) (5 Marks) (5 Marks) (5 Marks) 1.5 What are the essential characteristics of good designing. Identify and describe how these are important standards for designing (10 Marks) QUESTION TWO (30 MARKS) 2.1 What are conceptual models in interaction design?…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