Auf Thema antworten

ok hab meine intervall variable global deklariert und ind er main einfach einneues objekt erzeugt und kanndannbeim simpleintervall auf from bzw to zugreifen...


allerdings fliegt bei mir jetz eine nullpointerexception


[code=Java]public class LinkedInterval implements Interval{

    private static LinkedInterval intervall;

    //Knoten erzeugen

    private class Node {

        public Node(SimpleInterval o) {

            test = o;

        }

        //der Zeiger zeigt auf den naechsten Knoten

        public Node next;

        //Die Daten des Knotens (einfaches Interval)

        //SimpleInterval si;

        public SimpleInterval test;

    }

   

    //Kopf und Ende der Liste instanziieren um Bezugsadresse im Speicher zu haben

    public Node first = new Node(null);

    public Node last = new Node(null);

   

    //Konstruktor erstellt eine Liste, deren Kopf auf das Ende zeigt und das Ende

    //auf null

    public LinkedInterval() {

        first.next = last;

        last.next = null;

    }

   

    //Neues Objekt in die Kette einfuegen

    public void add(SimpleInterval o){

        if (first == null){

            first = new Node(o);

        } else {

            Node current = first;

            while (current.next != null) {

                current = current.next;

            }

            current.next = new Node(o);

        }

    }

   

    public void print(){

        Node act = first;

       

        while (act != null){

            System.out.println("[ " + act.test.from + "   " + act.test.to + " ]");

            act = act.next;

        }

    }

       

    @Override

    public boolean contains(BigDecimal number) {

        // TODO Auto-generated method stub

        return false;

    }


    @Override

    public Interval difference(Interval ival) {

        // TODO Auto-generated method stub

        return null;

    }


    @Override

    public Interval intersect(Interval ival) {

        // TODO Auto-generated method stub

        return null;

    }


    @Override

    public boolean isEmpty() {

        // TODO Auto-generated method stub

        return false;

    }


    @Override

    public Iterator<SimpleInterval> iterator() {

        // TODO Auto-generated method stub

        return null;

    }


    @Override

    public Interval union(BigDecimal from, BigDecimal to) {

       

        //Wenn Liste leer ist

        if (first.next.next == null) {

            SimpleInterval si = new SimpleInterval();

            si.from = from;

            si.to = to;

            add(si);

        }

        return intervall;

    }

       

    @Override

    public Interval union(Interval ival) {

       

        return null;

    }


    public static LinkedInterval getIntervall() {

        return intervall;

    }


    public static void main(String[] args) {

        intervall = new LinkedInterval();

        intervall.union(BigDecimal.valueOf(3.1), BigDecimal.valueOf(5.4));

        intervall.print();


    }

}

[/code]


[CODE]Exception in thread "main" java.lang.NullPointerException

    at LinkedInterval.print(LinkedInterval.java:47)

    at LinkedInterval.main(LinkedInterval.java:108)[/CODE]



Oben