Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #11019

Inner class and interface question (I posted some really long code)

From Chad <cdalten@gmail.com>
Newsgroups comp.lang.java.programmer
Subject Inner class and interface question (I posted some really long code)
Date 2011-12-27 22:29 -0800
Organization http://groups.google.com
Message-ID <e787d461-ab1a-417a-9c81-0caa4d1e7ac8@x34g2000prb.googlegroups.com> (permalink)

Show all headers | View raw


I'm want to put the getHead() method in the BagInterface. However, I
can't do this because the compiler keeps saying it can't find 'class
Node' in Location BagInterface<T>. I guess this is because Node is an
inner class of my LinkedList class. Ideas how to fix this? Ideally I
want to preserve the inner class. Below is the complete working code
in question.

public class Main {

    public static void main(String[] args) {
        BagInterface <Integer> list = new LinkedList <Integer>();
        list.add(new Integer(1));
        list.add(new Integer(2));
        list.add(new Integer(100));
        list.add(new Integer(100));
        list.add(new Integer(100));
        list.add(new Integer(100));
        list.add(new Integer(99));
        list.add(new Integer(11));
        list.printMe();
        //System.out.println("The sum is " +
list.sumMe(list.getHead()));

    }//end main
}

interface BagInterface<T> {
    public void add(T newData);
    public void printMe();
    public Node getHead(); //<---Problem Line

}

class LinkedList<T> implements BagInterface<T>{

    private Node firstNode;
    private int numberOfEntries;

    public LinkedList() {
        firstNode = null;
        numberOfEntries = 0;
    }

    class Node {

        private T data;
        Node next;

        Node(T newData) {
            this(newData, null);
        }

        Node(T newData, Node nextNode) {
            data = newData;
            next = nextNode;
        }

        Node getHead() {
            return firstNode;
        }
    }//end class Node


    public Node getNext() {
        return firstNode.next;
    }

    public Node getHead() {
        return firstNode;
    }

    public void add(T newData) {
        Node newNode = new Node(newData);
        newNode.next = firstNode;
        firstNode = newNode;
        numberOfEntries++;
    }//end add

    public void printMe() {
        Node current = firstNode;

        while (current != null) {
            System.out.println(current.data);
            current = current.next;
        }
    }

}

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Inner class and interface question (I posted some really long code) Chad <cdalten@gmail.com> - 2011-12-27 22:29 -0800
  Re: Inner class and interface question (I posted some really long code) Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-27 23:27 -0800
  Re: Inner class and interface question (I posted some really long code) Patricia Shanahan <pats@acm.org> - 2011-12-28 09:53 -0800
  Re: Inner class and interface question (I posted some really long code) GGolf <invalid@invalid.com> - 2011-12-30 12:32 +0530
    Re: Inner class and interface question (I posted some really long code) Patricia Shanahan <pats@acm.org> - 2011-12-30 05:40 -0800
  Re: Inner class and interface question (I posted some really long code) Roedy Green <see_website@mindprod.com.invalid> - 2011-12-31 06:40 -0800

csiph-web