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]