Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4532732
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T14:04:01+00:00 2026-05-21T14:04:01+00:00

I cant figure out where I’m going wrong at all, I’ve checked and rechecked

  • 0

I cant figure out where I’m going wrong at all, I’ve checked and rechecked my add(int index, T obj) method countless times, still getting the same error. Here’s my code, any pointers would be GREATLY appreciated; this problem has been holding up my project for a day or so at least now.

package edu.neumont.csc250;


class LinkedList<T> implements List<T>{

    Node<T> head;
    Node<T> tail;
    int listCount;

    public LinkedList(){
        head = null;
        listCount = 0;
    }

    @Override
    public T get(int index) throws IllegalArgumentException {
        if(index > size() - 1 || index < 0){
            throw new IllegalArgumentException();
        }
        else{           
            Node<T> current = head;
            for(int i = 0; i < index; i++)
            {               
                current = current.next;
            }
            if(current.content != null){
                return current.content;
            }
            else{
                System.out.println("Null value.");
                return null;
            }
        }
    }

    @Override
    public void add(T obj) {
        if(head == null){
            head = new Node<T>(obj);
            head.next = null;
            tail = head;
            listCount++;
        }
        else{
            if(head.next == null){
                head.next = new Node<T>(obj);
                //head.next.next = null;
                tail = head.next;
                tail.prev = head;
                listCount++;
            }
            else{
                tail.next = new Node<T>(obj);
                tail.next.prev = tail;
                tail = tail.next;
                tail.next = null;
                listCount++;
            }
        }
    }

    @Override
    public void add(int index, T obj) throws IllegalArgumentException {
        // TODO Auto-generated method stub      
        Node<T> temp = new Node(obj);
        Node<T> current = head;

        for(int i = 0; i<=index; i++){
            current = current.next;
        }
        temp.prev = current.prev;
        current.prev = temp;
        current.prev.next = current;

        if(index == 0){
            head = current.prev;
        }
        else if(index == size()+1){
            tail = current.next;
        }

        listCount++;
    }

    @Override
    public void replace(int index, T obj) throws IllegalArgumentException {
        // TODO Auto-generated method stub
        if(index > size() - 1 || index < 0){
            throw new IllegalArgumentException();
        }
        else{
            //get(index)
        }

    }

    @Override
    public T remove() {
        head = head.next;
        listCount--;

        return null;
    }

    @Override
    public T remove(int index) throws IllegalArgumentException {
        // TODO Auto-generated method stub
        if(index > size() - 1 || index < 0){
            throw new IllegalArgumentException();
        }
        else{

            listCount--;
        }

        return null;
    }

    @Override
    public int size() {
        return listCount;
    }

    public static void main(String[] args){
        LinkedList<String> list = new LinkedList<String>();
        list.add("Red");
        list.add("Orange");
        list.add("Yellow");
        list.add("Green");
        list.add("Blue");
        list.add("Purple");

        for(int a = 0; a < list.size(); a++){
            System.out.println(list.get(a));
        }       
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
//      System.out.println(list.get(5).toString());
        System.out.println("There are " + list.size() + " colors in the list.");

        list.remove();

        for(int b = 0; b < list.size(); b++){
            System.out.println(list.get(b));
        }
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
        //System.out.println(list.get(5));
        System.out.println("There are " + list.size() + " colors in the list.");

        list.add(0, "Red");
        System.out.println(list.size());

        for(int c = 0; c < list.size(); c++){
            System.out.println(list.get(c));
        }
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
//      System.out.println(list.get(5).toString());
        System.out.println("There are " + list.size() + " colors in the list.");
    }

    class Node<T>{
        T content;
        Node<T> next;
        Node<T> prev;

        public Node(T content){
            this.content = content;
        }

        public T getContents(){
            return content;
        }

        public void printNode() {
            System.out.print("{" + content + "} ");
        }
    }
}

Here’s my console readout if it’s of any help:

Red
Orange
Yellow
Green
Blue
Purple
There are 6 colors in the list.
Orange
Yellow
Green
Blue
Purple
There are 5 colors in the list.
6
Red
Yellow
Green
Blue
Purple
Exception in thread “main”
java.lang.NullPointerException at
edu.neumont.csc250.LinkedList.get(LinkedList.java:26) at
edu.neumont.csc250.LinkedList.main(LinkedList.java:161)

EDIT: main method isolated, as requested:

public static void main(String[] args){
        LinkedList<String> list = new LinkedList<String>();
        list.add("Red");
        list.add("Orange");
        list.add("Yellow");
        list.add("Green");
        list.add("Blue");
        list.add("Purple");

        for(int a = 0; a < list.size(); a++){
            System.out.println(list.get(a));
        }       
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
//      System.out.println(list.get(5).toString());
        System.out.println("There are " + list.size() + " colors in the list.");

        list.remove();

        for(int b = 0; b < list.size(); b++){
            System.out.println(list.get(b));
        }
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
        //System.out.println(list.get(5));
        System.out.println("There are " + list.size() + " colors in the list.");

        list.add(0, "Red");
        System.out.println(list.size());

        for(int c = 0; c < list.size(); c++){
            System.out.println(list.get(c));
        }
//      System.out.println(list.get(0).toString());
//      System.out.println(list.get(1).toString());
//      System.out.println(list.get(2).toString());
//      System.out.println(list.get(3).toString());
//      System.out.println(list.get(4).toString());
//      System.out.println(list.get(5).toString());
        System.out.println("There are " + list.size() + " colors in the list.");
    }
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T14:04:02+00:00Added an answer on May 21, 2026 at 2:04 pm

    When insert(add()) with index 0, the new element will be inserted behind the first element.

    However, the head reference points to the newly inserted element rather than the actual head element after the operation is done.
    Thus, a NPE will occur when you iterate your list.
    In fact, you can get this from the output of the programe. Notice that the third iteration starts at ‘Red’ and the ‘Orange’ diappears.

    And the implementation of remove() is not good, for it’ll lead to ‘Memory Leak’. It just moves the ‘head’ forward without null-ing the element.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I cant figure out how to use Profile.GetProfile() method in a library class. I
I cant figure out preg_replace at all, it just looks chinese to me, anyway
Query issues, for the life of me i cant figure out what is wrong
I cant figure out how to add the values after it spits out the
I cant figure out how to start a method to delete a specific entry
I realize this perhaps a naive question but still I cant figure out how
i am trying to set the htmlAttribute property but i cant figure out the
I'm building a questionnaire mvc webapp, and i cant figure out how to pass
Cant figure out what the problem is! $msgs = mysql_num_rows(mysql_query(SELECT * FROM messages WHERE
I cant figure out how to do relationships. I have a products model and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.