OOP Cannot instantiate the type AuDList<Integer>

Butterbrot

Aktives Mitglied
Guten Abend Community,

wenn ich versuche diese Liste aufzurufen, erscheint jedesmal der Fehler, welcher oben in dem Titel genannt ist. Wieso das passiert weiß ich auch nicht, deswegen suche ich ein scharfes Auge, dass mir helfen könnte. Unten ist der folgende Code und danke im Voraus.

Java:
public abstract class AuDList<E extends Comparable<E>> implements AuDListInterface <E> {
    private class Item {
        public E value;
        public Item previous;
        public Item next;

        public Item(E parameter) {
            value = parameter;
            previous = null;
            next = null;
        }
    }

    public Item head;
    public Item tail;

    public AuDList() {
        head = null;
        tail = null;
    }

    public int size() {
        Item laeufer = head;
        int counter = 0;
        while(laeufer != null) {
            counter++;
            laeufer = laeufer.next;
        }
        return counter;
    }

    public boolean exists(E value) {
        boolean exists = false;
        Item laeufer = head;
        while(laeufer != null) {
            if(laeufer != null) {
                return exists = true;
            }
            laeufer = laeufer.next;
        }
        return exists;
    }

    public void add(E value)throws ElementExistsException {
        Item counter = head;
        Item item = new Item(value);
        int zaehler = 0;      
        if(head == null){
            if(value.equals(counter.value)) {
                throw new ElementExistsException();
            } else {
                counter.next = item;
            }
        }

        while(counter != null){
            if(exists(value)){
                throw new ElementExistsException();
            } else if(value.compareTo(counter.value) > 0 && counter.next.value.compareTo(value) < 0) {
                counter = item;
                for(int i = zaehler; i < size(); i++) {
                    counter.next = counter;
                }
                //item.next = counter.next;
                //counter.next = item;
            }
            counter = counter.next;
            zaehler++;
        }
    }

    public void remove(E value) {
        Item item = new Item(value);
        Item counter = head;
        int zaehler = 0;
        if(!exists(value)) {
            throw new NoSuchElementException();
        }
        if(head == null) {
            if(value.equals(counter.value) ) {
                counter = null;
            } else {
                throw new NoSuchElementException();
            }
        }      
        while(counter != null) {
            if(value.compareTo(counter.value) > 0 && counter.next.value.compareTo(value) < 0) {
                counter = item;
                for(int i = zaehler; i < size(); i++) {
                    counter.next = counter;
                }
            }
            zaehler++;
        }
    }
  
    public Iterator<E> iterator() {      
    }
  
    public static void main(String[] args) {
        /*AuDList<String> audlist = new AuDList<String>();
        audlist.add("0");
        audlist.add("1");
        System.out.println(audlist);*/

        AuDList<Integer> audlist = new AuDList<Integer>();
        audlist.add(new Integer(10));
        audlist.add(new Integer(20));

        System.out.println(audlist);
    }
 
Zuletzt bearbeitet von einem Moderator:

InfectedBytes

Top Contributor
die Klasse ist abstrakt und abstrakte Klassen kann man nciht instanziieren. Entweder abstract weg machen, oder eine Subklasse erzeugen.
In der Fehlermeldung steht vermutlich genau dasselbe...^^
 

Flown

Administrator
Mitarbeiter
Poste doch mal deine Aufgabenstellung (ich glaub es is ne Aufgabe aus Algorithmen und Datenstrukturen?). Wenn nein ein paar Tipps gefällig?
 

Butterbrot

Aktives Mitglied
Sind eine Menge PDF-Seiten und ich glaube darauf sind wir beide nicht sonderlich scharf. Also der Anfang der add-Methode stimmt schon mal nicht, das habe ich wenigstens erkannt. Genauso wie in der remove-Methode. Anfangsbedingungen habe ich auch geändert. Mein größtes Problem ist es eher die Liste auszugeben, da trotz list.toString() komische Zahlen und Buchstaben rauskommen. Der leicht abgewandelte Code schaut folgendermaßen aus:
Java:
public class AuDList<E extends Comparable<E>> implements AuDListInterface <E>{


    private class Item{
        public E value;
        public Item previous;
        public Item next;

        public Item(E parameter){
            value = parameter;
            previous = null;
            next = null;
        }
    }

    public Item head;
    public Item tail;

    public AuDList(){
        head = null;
        tail = null;
    }

    public int size(){

        Item laeufer = head;
        int counter = 0;

        while(laeufer != null){
            counter++;
            laeufer = laeufer.next;
        }

        return counter;
    }

    public boolean exists(E value){

        boolean exists = false;
        Item laeufer = head;

        while(laeufer != null){
            if(laeufer != null){
                return exists = true;
            }
            laeufer = laeufer.next;
        }

        return exists;
    }

    public void add(E value)throws ElementExistsException{

        Item counter = head;
        Item item = new Item(value);
        int zaehler = 0;

if(counter == null){
            counter = item;
        }
       
if(counter.next == null){
            if(value.compareTo(counter.value) > 0){
                counter.next = item;
            }
            else{
                counter = counter.next;
                counter = item;
            }
        }

        while(counter != null){
            if(exists(value)){
                throw new ElementExistsException();
            }

            else if(value.compareTo(counter.value) < 0 && counter.next.value.compareTo(value) > 0)
            {
                counter = item;
                for(int i = zaehler; i < size(); i++){
                    counter.next = counter;
                }
                //item.next = counter.next;
                //counter.next = item;

            }
            counter = counter.next;
            zaehler++;
        }
    }

  
public void remove(E value){
        Item item = new Item(value);
        Item counter = head;
        int zaehler = 0;

        if(counter == null){
            throw new NoSuchElementException();
        }

        if(counter.next == null){
            counter = null;
        }

        while(counter != null){
            if(!exists(value)){
                throw new NoSuchElementException();
            }

            if(value.compareTo(counter.value) < 0 && counter.next.value.compareTo(value) > 0){
                counter = item;
                for(int i = zaehler; i < size(); i++){
                    counter.next = counter;
                }
            }
            zaehler++;

    public Iterator<E> iterator(){

    }

    public static void main(String[] args) {
        /*AuDList<String> audlist = new AuDList<String>();
        audlist.add("0");
        audlist.add("1");
        System.out.println(audlist);*/

        AuDList<Integer> audlist = new AuDList<Integer>();

        audlist.add(new Integer(1));
        //audlist.add(new Integer(2));
        //audlist.add(new Integer(3));
        //audlist.add(new Integer(4));
        audlist.add(new Integer(5));

        System.out.println(audlist.toString());
    }
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Soll diese doppeltverkettete Liste sortiert sein?
Wie sieht das AuDListInterface aus?

Lad die Seiten hier hoch, dann kann man sich viele Fragen sparen.
 

Butterbrot

Aktives Mitglied
Ja es ist eine doppelt verkettete Liste und hier ist das AuDListInterface:

Java:
import java.util.Iterator;


public interface AuDListInterface<E extends Comparable<E>> extends Iterable<E> {

    public int size();
    public boolean exists(E value);
    public void add(E value);
    public void remove(E value);
    public Iterator<E> iterator();

}

Okay, aber ich lad nur ein paar Seiten hoch
 

Anhänge

  • exercise-041.pdf
    64,6 KB · Aufrufe: 2

Butterbrot

Aktives Mitglied
Alles klar, kein Stress. Hab sowieso morgen nochmal Rechnerübung, vielleicht werden sich schon ein paar Fragen im Vorfeld beseitigt werden. Danke im Voraus :)
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Wie versprochen meine Tipps:
Nimm statt while-Schleifen Zählschleifen (also for): Dann sieht das size()
auch ein wenig "aufgeräumter" aus:
Java:
public int size() {
    int size = 0;
    for (Item item = head; item != null; item = item.next) {
        size++;
    }
    return size;
}
So als kleines Geschenk eine richtige Implementierung von exists:
Java:
@Override
public boolean exists(E value) {
   for (Item item = head; item != null; item = item.next) {
     if (item.value.compareTo(value) == 0) {
       return true;
     }
   }
   return false;
}
Bei add musst du folgend vorgehen:
- Liste leer? -> Einfügen des Elements und head, tail richtig setzen
- Liste nicht leer? ->
- Alle Elemente durchlaufen, bis das einzufügende value kleiner ist als das Aktuelle (Achtung Spezialfälle: Aktuelles Item ist head oder tail)
- Wenn alle Elemente durchlaufen sind und noch nichts eingefügt wurde, dann hinter die Liste hängen

Ähnliches gilt auch für remove.
 

Butterbrot

Aktives Mitglied
Herzlichen Dank für das kleine Geschenk und dass du dir die Mühe machst, mir zu helfen. Dennoch habe ich immer noch das vorhin genannte Problem, dass das die Liste nicht so ausgegeben wird, wie ich es gerne hätte. Es kommt folgende Ausgabe: AuDList@139a55. Trotz audlist.toString(), erscheint diese Ausgabe. Weißt du woran das liegt? Danke im Voraus.
 

Flown

Administrator
Mitarbeiter
Damit du auch was siehst:
Java:
@Override
public String toString() {
   StringBuilder sb = new StringBuilder();
   sb.append('[');
   for (Item item = head; item != null; item = item.next) {
     if (item != head) {
       sb.append(',').append(' ');
     }
     sb.append(item.value);
   }
   sb.append(']');
   return sb.toString();
}
 

Butterbrot

Aktives Mitglied
Danke, aber ich hab das schon geschrieben :)

Java:
@Override
    public String toString() {
        boolean first = true;

        Item counter = head;
        String output = "[";
        while (counter != null) {
            if (first) {
                first = false; 
            } else {
                output += ", ";
            }

            output += counter.value;
            counter = counter.next;
        }

        output += "]";

        return output;
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
M Objekt Cannot instantiate the type ... Java Basics - Anfänger-Themen 10
S Itemlistener: cannot instantiate? Java Basics - Anfänger-Themen 2
W Cannot find Symbol Java Basics - Anfänger-Themen 5
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
W Cannot resolve symbol 'HttpServlet' Java Basics - Anfänger-Themen 2
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
Flo :3 Variablen Type dismatch: cannot convert from string to int Java Basics - Anfänger-Themen 9
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
V ClientProtocolException cannot be resolved Java Basics - Anfänger-Themen 6
A Cannot find symbol mit Konstruktoren Java Basics - Anfänger-Themen 27
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
J The import org.bukkit cannot be resolved Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
L constructor cannot be applied... Java Basics - Anfänger-Themen 22
F Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 5
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
R return: cannot find symbol Java Basics - Anfänger-Themen 2
L Bluej Error: Cannot find Symbol Java Basics - Anfänger-Themen 13
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
M Iterator cannot refer to a non final... Java Basics - Anfänger-Themen 20
S Cannot find symbol (symbol ist eine Variable) Java Basics - Anfänger-Themen 13
N Cannot find symbol Java Basics - Anfänger-Themen 18
T Error: int cannot be dereferenced Java Basics - Anfänger-Themen 10
J JLabel cannot be resolved Java Basics - Anfänger-Themen 8
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P Cannot find symbol, wieso? Java Basics - Anfänger-Themen 5
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
M Erste Schritte cannot find symbol - Probleme mit Klassen Java Basics - Anfänger-Themen 6
B OOP next cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
J Error: cannot find symbol - variable Java Basics - Anfänger-Themen 3
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
F Erste Schritte parseint: cannot find symbol Java Basics - Anfänger-Themen 6
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
M Erste Schritte [Variable] cannot be resolved to a variable Java Basics - Anfänger-Themen 4
M The Selection cannot be launched... Java Basics - Anfänger-Themen 4
M Vererbung - Cannot Find Symbol constructor... Java Basics - Anfänger-Themen 11
D error: cannot find symbol Java Basics - Anfänger-Themen 3
B Frage zu Beispielprogramm: "error: cannot find symbol" Java Basics - Anfänger-Themen 2
M Methoden Cannot be resolved to a variable Java Basics - Anfänger-Themen 5
BlueMountain Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 2
P enum: cannot be resolved to a type Java Basics - Anfänger-Themen 2
W Compiler-Fehler "non-static method cannot be referenced"-Problem Java Basics - Anfänger-Themen 6
L Error: Cannot find symbol Java Basics - Anfänger-Themen 1
W int cannot be dereferenced Java Basics - Anfänger-Themen 5
P Cannot find Symbol Java Basics - Anfänger-Themen 3
K Compiler-Fehler Button cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
F Input/Output IOTools Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 16
L Cannot Find Symbol - Was soll denn das bedeuten?!? Java Basics - Anfänger-Themen 7
P StdIn.readDouble: cannot find symbol Java Basics - Anfänger-Themen 7
B Fehler "Cannot find symbol - variable number1" Java Basics - Anfänger-Themen 13
P Variablen Cannot be resolved to a variable Java Basics - Anfänger-Themen 8
B Compiler-Fehler cannot find symbol Java Basics - Anfänger-Themen 6
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
M Methoden "Non-static method xy cannot be referenced from a static context" Java Basics - Anfänger-Themen 20
T Cannot convert from Integer to int Java Basics - Anfänger-Themen 12
K Cannot find symbol Java Basics - Anfänger-Themen 3
H cannot find symbol Java Basics - Anfänger-Themen 4
K Objekt erstellen - error: non-static variable this cannot be referenced from a static context Java Basics - Anfänger-Themen 17
S cannot find symbol, symbol: constructor Java Basics - Anfänger-Themen 2
3 Compiler-Fehler Fehlerbehebung cannot find Symbol Java Basics - Anfänger-Themen 4
R Compiler-Fehler Cannot find symbol (Method printIn) Java Basics - Anfänger-Themen 3
H non-static method cannot be referenced from a static context Java Basics - Anfänger-Themen 2
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6
B Polymorphie A obj = new B; "cannot find symbol app()" Java Basics - Anfänger-Themen 5
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
K Variablen Cannot make a static reference to the non-static field time Java Basics - Anfänger-Themen 6
T Cannot refer to an instance field xxx while explicitly invoking a constructor Java Basics - Anfänger-Themen 14
T Cannot find Symbol(String) Java Basics - Anfänger-Themen 9
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3
2 Compiler-Fehler cannot find symbol Java Basics - Anfänger-Themen 13
N Erste Schritte import javax.media.3d....; //Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 10
B Erste Schritte cannot find symbol - problem Java Basics - Anfänger-Themen 9
P Compiler-Fehler Cannot make a static reference to the non-static field process Java Basics - Anfänger-Themen 3
K int cannot be dereferenced Java Basics - Anfänger-Themen 2
H LocationReferenceImpl cannot be resolved to a type Java Basics - Anfänger-Themen 5
D Cannot find symbol variable Java Basics - Anfänger-Themen 9
A Compiler-Fehler Cannot find Symbol Java Basics - Anfänger-Themen 6
V Datentypen int cannot be dereferenced Java Basics - Anfänger-Themen 4
R Compiler-Fehler sequenz cannot be resolved or is not a field Java Basics - Anfänger-Themen 2
V Packages: Cannot find symbol Java Basics - Anfänger-Themen 12
G Collections.binarySearch(LinkedList): cannot find method Java Basics - Anfänger-Themen 6
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
T Cannot be resolved to a variable Java Basics - Anfänger-Themen 8
E Klassen ClassCastException bei gleichnamigem: paket.klasse cannot be cast to paket.klasse Java Basics - Anfänger-Themen 10
C i cannot be resolved (obwohl es im schleifekopf initialisiert worden ist) Java Basics - Anfänger-Themen 2
W Compiler-Fehler variable cannot be resolved / duplicate local variable Java Basics - Anfänger-Themen 11
C Fehlermeldung "The import TestProjekt cannot be resolved". Warum? Java Basics - Anfänger-Themen 7
R Cannot find a free socket for the debugger Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben