
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 7PP
Program Plan Intro
Circular doubly-linked list
Program plan:
- In a file “ListIterator.java”, create an interface “ListIterator”,
- Declare the method “next()” that moves the iterator past the next element.
- Declare the method “hasNext()” that check if there is an element after the iterator position.
- Declare the method “previous()”.
- Declare the method “hasPrevious()”.
- Declare the method “add()” that adds an element before the position of the iterator and moves the iterator past the added element.
- Declare the method “remove()” that removes the last traversed element.
- Declare the method “set()” to set the last traversed element to a previous value.
- In a file “LinkedList.java”, import the package and create a class “LinkedList”,
- Declare two object variables of type “Node”.
- Define the constructor to create an empty linked list.
- Define the method “getFirst()” that returns the first element in the linked list.
- Define the method “removeFirst()” to remove the first element in the linked list.
- Define the method “addFirst()” that adds an element to front of the linked list.
- Define the method “getLast()” that returns an element last in the linked list.
- Define the method “removeLast()” that removes an element present last in the linked list.
- Define the method “addLast()” that adds an element to the last in the linked list.
- Define the method “listIterator()” of type “ListIterator”, that returns an iterator for iterating through the list.
- Create a class “Node”,
- Declare the object variable for “Object”, and “Node”.
- Create a class “LinkedListIterator”,
- Declare the necessary object variables.
- Declare the necessary Boolean variables.
- Define the constructor to create an iterator that points to the front of the linked list.
- Define the method “next()”,
-
- If there is no next element then throws an exception.
- Set the Boolean values to the Boolean variables.
- Check if position is null, set the first element to the position.
- Otherwise, set the next position to the current position.
- Returns the value at the position.
- Define the method “hasNext()” that check whether there is an element after the iteration and before the starting of the list.
- Define the method “add()”,
-
- If position is null,
- Returns the value.
- Otherwise,
- Returns the value.
- Otherwise,
- Returns the value.
- If position is null,
- Define the method “previous()”,
-
- Check if there is any previous element,
- Throws an exception.
- Assign the Boolean value to the Boolean variables.
- Check the condition,
- Set the null value to the position.
- Throws an exception.
- Check if there is any previous element,
- Define the method “hasPrevious()”,
-
- Returns the Boolean value.
- Define the method “add()”,
-
- If position is null,
- Call the method “addFirst()”.
- Set the first to the position.
- Check the condition,
- Call the method “addLast()”.
- Assign the value.
- Otherwise,
- Create a new node.
- Set the value to the new node.
- Set the next position to the next pointer of new node.
- Assign the new node value to the previous of the new next node value.
- Assign the new node value to the next position.
- Assign the position to the previous of the new node.
- Assign the new node to the position.
- Assign the Boolean values to the Boolean variables.
- Check the condition,
- If position is null,
- Define the method “remove()”,
-
- Assign the value returned from the method “lastPosition()” to the position.
- Check the condition,
- Call the method “removeFirst()”.
- Otherwise, check another condition,
- Call the method “removeLast()”.
- Otherwise,
- Assign the value at the next position to the value at the next of the previous position.
- Assign the value at the previous position to the previous of the next position.
- Check if there is an element after the next position,
- Assign the value at the previous position to the current position.
- Assign the Boolean values to the Boolean variables.
- Otherwise, check another condition,
- Call the method “removeFirst()”.
- Define the method “set()”,
-
- Assign the value returned from the method “lastPosition()”.
- Assign the value.
- Define the method “lastPosition()” that returns the last node iterated by the iterator if there was not an immediately preceding call to previous or next.
- Create a class “LinkedListIterator”,
- Declare the object variable for “Object”, and “Node”.
- In a file “ListTest.java”, create a class “ListTest”,
- Define the “main()” method.
- Create “LinkedList” object.
- Get and print the number of fields in a circular list.
- Print the expected result.
- Call the method “addFirst()”.
- Call the method “addFirst()”.
- Call the method “addLast()”.
- Print he value returned from the method “getFirst()”.
- Print the expected result.
- Print the value obtained from the method “getLast()”.
- Print the expected result.
- Call the method “removeLast()”.
- Print the result obtained from the method “getLast()”.
- Print the expected result.
- Call the method “removeFirst()”.
- Print the value returned from the method “getFirst()”.
- Print the expected result.
- Call the method “addFirst()”.
- Assign the value returned from the method “listIterator()”.
- Print the value returned from the method “hasNext()”.
- Print the expected result.
- Call the method “next()”
- Print the value obtained from the method “hasNext()”.
- Print the expected result.
- Print the value returned from the method “hasPrevious()”.
- Print the expected result.
- Print the value returned from the method “next()”.
- Print the expected result.
- Print the value returned from the method “previous()”.
- Print the expected result.
- 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
I want to ask someone who has experiences in writing physics based simulation software. For context I am building a game engine, and want to implement physics simulation. There are a few approaches that I managed to find, but would like to know what are other approaches to doing physics simulation entry points from scenes, would you be able to visually draw me a few approaches (like 3 approaces)?When I say entry point to the actual physics simulation. An example of this is when the user presses the play button in the editor, it starts and initiates the physics system. Applying all of the global physics settings parameters that gets applied to that scene.Here is the use-case, I am looking for. If you have two scenes, and select scene 1. You press the play button. The physics simulation starts. When that physics simulation starts, you are also having to update the physics through some physics dedicated delta time because physics needs to happen faster update frequency.To elaborate, what…
Male comedians were typically the main/dominant star of television sitcoms made during the FCC licensing freeze.
Question 19 options:
True
False
In the episode of The Honeymooners that you watched this week, why did Alice decide to get a job outside of the home?
Question 1 options:
to earn enough money to buy a mink coat
to have something to do while the kids were at school
to pay the bills after her husband got laid off
After the FCC licensing freeze was lifted, sitcoms featuring urban settings and working class characters became far less common.
Question 14 options:
True
False
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
- solve this questions for me .arrow_forwarda) first player is the minimizing player. What move should be chosen?b) What nodes would not need to be examined using the alpha-beta pruning procedure?arrow_forwardConsider the problem of finding a path in the grid shown below from the position S to theposition G. The agent can move on the grid horizontally and vertically, one square at atime (each step has a cost of one). No step may be made into a forbidden crossed area. Inthe case of ties, break it using up, left, right, and down.(a) Draw the search tree in a greedy search. Manhattan distance should be used as theheuristic function. That is, h(n) for any node n is the Manhattan distance from nto G. The Manhattan distance between two points is the distance in the x-directionplus the distance in the y-direction. It corresponds to the distance traveled along citystreets arranged in a grid. For example, the Manhattan distance between G and S is4. What is the path that is found by the greedy search?(b) Draw the search tree in an A∗search. Manhattan distance should be used as thearrow_forward
- whats for dinner? pleasearrow_forwardConsider the follow program that prints a page number on the left or right side of a page. Define and use a new function, isEven, that returns a Boolean to make the condition in the if statement easier to understand. ef main() : page = int(input("Enter page number: ")) if page % 2 == 0 : print(page) else : print("%60d" % page) main()arrow_forwardWhat is the correct python code for the function def countWords(string) that will return a count of all the words in the string string of workds that are separated by spaces.arrow_forward
- Consider the following program that counts the number of spaces in a user-supplied string. Modify the program to define and use a function, countSpaces, instead. def main() : userInput = input("Enter a string: ") spaces = 0 for char in userInput : if char == " " : spaces = spaces + 1 print(spaces) main()arrow_forwardWhat is the python code for the function def readFloat(prompt) that displays the prompt string, followed by a space, reads a floating-point number in, and returns it. Here is a typical usage: salary = readFloat("Please enter your salary:") percentageRaise = readFloat("What percentage raise would you like?")arrow_forwardassume python does not define count method that can be applied to a string to determine the number of occurances of a character within a string. Implement the function numChars that takes a string and a character as arguments and determined and returns how many occurances of the given character occur withing the given stringarrow_forward
- Consider the ER diagram of online sales system above. Based on the diagram answer the questions below, a) Based on the ER Diagram, determine the Foreign Key in the Product Table. Just mention the name of the attribute that could be the Foreign Key. b) Mention the relationship between the Order and Customer Entities. You can use the following: 1:1, 1:M, M:1, 0:1, 1:0, M:0, 0:M c) Is there a direct relationship that exists between Store and Customer entities? Answer Yes/No? d) Which of the 4 Entities mention in the diagram can have a recursive relationship? e) If a new entity Order_Details is introduced, will it be a strong entity or weak entity? If it is a weak entity, then mention its type?arrow_forwardNo aiarrow_forwardGiven the dependency diagram of attributes {C1,C2,C3,C4,C5) in a table shown in the following figure, (the primary key attributes are underlined)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