BIG JAVA: LATE OBJECTS
BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 16, Problem 4PP
Program Plan Intro

A method “boolean contains(Object obj)”

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 “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”.
    • Declare the necessary variables.
    • Define the constructor to create an empty linked list.
    • Define the method “size()” that returns the size of linked list.
    • Define the method “contains() ” to check if  the given object is contained in the linked list,
      • Check if the object is a null value,
        • If it is true, returns false.
      • Assign first node value to the current node value.
      • Execute till current becomes as a null value,
        • Check the condition,
          • If it is true, returns true.
        • Assign the next node to the current node value.
      • Returns false.
            • 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 the linked list.
            • Define the method “get()” ,
              • Check if the last index is either “-1” or greater than or equal to the passed argument, assign the value returned from the method “getNode()” to the last value and assign the argument passed, to the last index.
              • Otherwise, assign the value returned from the method “getNode()” with different argument,  to the last value and assign the argument passed, to the last index.
            • Define the method “set()” ,
              • Get the value returned from the method “getNode()”.
              • Set the new element.
            • Define the method “getNode()”,
              • Check whether the distance is less than or equal to “0” or start contains null value,
                • If it is true, returns start value.
                  • Call the method “getNode()” recursively.
            • 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.
              • 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.
                • Assign the position to the front of the linked list.
                • Check if position is null, set the first element to the position.
                • Otherwise, set the next position to the current position.
              • Define the method “hasNext()” that check whether there is next element.
              • Define the method “add()”,
                • If position is null, call the method “addFirst()”.
                  • Set the first to the position.
                • Otherwise, create a new node.
                  • Assign the element to the new node.
                  • Set the next position to the next pointer of the new node.
                  • Set the new node value to the next position.
                  • Set the new node as the position.
                  • Increment the size.
                • Set the position to the previous node.
              • Define the method “remove()”,
                • If position is same as the previous, throws an exception.
                • If the position is the first position, call the method “removeFirst()”.
                • Otherwise, set the position to the previous position.
                  • Increment the size.
                • Set the previous position to the position.
              • Define the method “set()”,
                • If position is null, throw an exception.
                • Set the value to the position.
  • In a file “ListTest.java”, create a class “ListTest”,
    • Define the “main()” method.
      • Create “LinkedList” object.
      • Add the element “Tony” to the linked list.
      • Add the element “Juliet” to the linked list.
      • Add the element “Harris” to the linked list.
      • Add the element “David” to the linked list.
      • Print the element returned from the conditional expression that contains “contains()” method.
      • Print new line.
      • Print expected result.
      • Print the element returned from the conditional expression that contains “contains()” method.
      • Print new line.
      • Print expected result.

Blurred answer
Students have asked these similar questions
2.68♦♦ Write code for a function with the following prototype: * Mask with least signficant n bits set to 1 * Examples: n = 6 -> 0x3F, n = 17-> 0x1FFFF * Assume 1 <= n <= w int lower_one_mask (int n); Your function should follow the bit-level integer coding rules Be careful of the case n = W.
Hi-Volt Components You are the IT manager at Hi-Voltage Components, a medium-sized firm that makes specialized circuit boards. Hi-Voltage's largest customer, Green Industries, recently installed a computerized purchasing sys- tem. If Hi-Voltage connects to the purchasing system, Green Industries will be able to submit purchase orders electronically. Although Hi-Voltage has a computerized accounting system, that system is not capable of handling EDI. Tasks 1. What options does Hi-Voltage have for developing a system to connect with Green Industries' pur- chasing system? 2. What terms or concepts describe the proposed computer-to-computer relationship between Hi-Voltage and Green Industries? why not? 3. Would Hi-Voltage's proposed new system be a transaction processing system? Why or 4. Before Hi-Voltage makes a final decision, should the company consider an ERP system? Why or why not?
Consider the following expression in C: a/b > 0 && b/a > 0.What will be the result of evaluating this expression when a is zero? What will be the result when b is zero? Would it make sense to try to design a language in which this expression is guaranteed to evaluate to false when either a or b (but not both) is zero? Explain your answer

Chapter 16 Solutions

BIG JAVA: LATE OBJECTS

Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education