Given main() in the Inventory class, define an insertAtFront() method in the InventoryNode class that inserts items at the front of a linked list (after the dummy head node). Ex. If the input is: 4 plates 100 spoons 200 cups 150 forks 200 the output is: 200 forks 150 cups 200 spoons 100 plates public class InventoryNode {    private String item;     private int numberOfItems;    private InventoryNode nextNodeRef; // Reference to the next node                                       public InventoryNode() {       item = "";       numberOfItems = 0;       nextNodeRef = null;    }    // Constructor                                                                                         public InventoryNode(String itemInit, int numberOfItemsInit) {       this.item = itemInit;       this.numberOfItems = numberOfItemsInit;       this.nextNodeRef = null;    }    // Constructor                                                                                         public InventoryNode(String itemInit, int numberOfItemsInit, InventoryNode nextLoc) {       this.item = itemInit;       this.numberOfItems = numberOfItemsInit;       this.nextNodeRef = nextLoc;    }    // TODO: Define an insertAtFront() method that inserts a node at the     //        front of the linked list (after the dummy head node)    // Get location pointed by nextNodeRef                                                                 public InventoryNode getNext() {       return this.nextNodeRef;    }    // Print node data    public void printNodeData() {       System.out.println(this.numberOfItems + " " + this.item);    } } import java.util.Scanner; public class Inventory {    public static void main (String[] args) {       Scanner scnr = new Scanner(System.in);               InventoryNode headNode;                                                     InventoryNode currNode;       InventoryNode lastNode;       String item;       int numberOfItems;       int i;       // Front of nodes list                                                                                headNode = new InventoryNode();       lastNode = headNode;       int input = scnr.nextInt();       for(i = 0; i < input; i++ ) {          item = scnr.next();          numberOfItems = scnr.nextInt();          currNode = new InventoryNode(item, numberOfItems);          currNode.insertAtFront(headNode, currNode);          lastNode = currNode;       }       // Print linked list                                                                          currNode = headNode.getNext();       while (currNode != null) {          currNode.printNodeData();          currNode = currNode.getNext();       }    } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Given main() in the Inventory class, define an insertAtFront() method in the InventoryNode class that inserts items at the front of a linked list (after the dummy head node).

Ex. If the input is:

4 plates 100 spoons 200 cups 150 forks 200

the output is:

200 forks 150 cups 200 spoons 100 plates

public class InventoryNode {
   private String item; 
   private int numberOfItems;
   private InventoryNode nextNodeRef; // Reference to the next node                                   
   public InventoryNode() {
      item = "";
      numberOfItems = 0;
      nextNodeRef = null;
   }
   // Constructor                                                                                     
   public InventoryNode(String itemInit, int numberOfItemsInit) {
      this.item = itemInit;
      this.numberOfItems = numberOfItemsInit;
      this.nextNodeRef = null;
   }
   // Constructor                                                                                     
   public InventoryNode(String itemInit, int numberOfItemsInit, InventoryNode nextLoc) {
      this.item = itemInit;
      this.numberOfItems = numberOfItemsInit;
      this.nextNodeRef = nextLoc;
   }
   // TODO: Define an insertAtFront() method that inserts a node at the 
   //        front of the linked list (after the dummy head node)
   // Get location pointed by nextNodeRef                                                             
   public InventoryNode getNext() {
      return this.nextNodeRef;
   }
   // Print node data
   public void printNodeData() {
      System.out.println(this.numberOfItems + " " + this.item);
   }
}

import java.util.Scanner;

public class Inventory {
   public static void main (String[] args) {
      Scanner scnr = new Scanner(System.in);
       
      InventoryNode headNode;                                              
      InventoryNode currNode;
      InventoryNode lastNode;

      String item;
      int numberOfItems;
      int i;

      // Front of nodes list                                                                         
      headNode = new InventoryNode();
      lastNode = headNode;

      int input = scnr.nextInt();

      for(i = 0; i < input; i++ ) {
         item = scnr.next();
         numberOfItems = scnr.nextInt();
         currNode = new InventoryNode(item, numberOfItems);
         currNode.insertAtFront(headNode, currNode);
         lastNode = currNode;
      }

      // Print linked list                                                                   
      currNode = headNode.getNext();
      while (currNode != null) {
         currNode.printNodeData();
         currNode = currNode.getNext();
      }
   }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Operations of Linked List
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education