in the below snippet code contains 3 files, named main which is the main operation code, node file contains LinkedList creation and methods contains the linked list operation. In the add rear section throws error.. while execution. I have added the snippet error screshoot
Main.java
JavaScript
x
import java.util.*;
public class main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (true) {
System.out.println("1-> add front 2->add rear 3->display");
System.out.println("enter your choice");
int ch = in.nextInt();
methods list = new methods();
switch (ch) {
case 1: {
System.out.println("Enter the element to add");
int newAdd = in.nextInt();
list.addfront(newAdd);
}
break;
case 2: {
System.out.println("Enter the element to add");
int newAdd = in.nextInt();
list.addrear(newAdd);
}
case 3:
list.display();
break;
default:
System.exit(0);
}
}
}
}
node.java
JavaScript
public class node {
private int data;
private node next;
public node(int data) {
this.data = data;
this.next = null;
}
public int getData() {
return data;
}
public node getNext() {
return next;
}
public void setNext(node next) {
this.next = next;
}
@Override
public String toString() {
return "node{" +
"data=" + data +
'}';
}
}
Methods.java
JavaScript
public class methods
{
node head;
public void addfront(int data)
{
node n= new node(data);
if(head!=null)
n.setNext(head);
head=n;
}
public void addrear(int data)
{
node n = new node(data);
node temp= head;
while(temp.getNext()!=null)
{
temp=temp.getNext();
}
temp.setNext(n);
}
public void display()
{
node current = head;
while(current!=null)
{
System.out.println(current);
current=current.getNext();
}
}
}
Advertisement
Answer
few mistakes here :
need to initialise ‘methods’ outside while loop. As at every input, it gets initialised.
JavaScript
Scanner in = new Scanner(System.in);
methods list = new methods();
while (true) { ----}
Also in addrear(int data) method , need to handle head == null condition, i.e., how to add element when there are no elements in the list.
JavaScript
if (head == null) {
head = n; return;
}