was habe ich Falsch gemacht ?

AmonSchmidt

Mitglied
public class List {

private class Node {
private T element = null;
private Node next = null;

private Node(T element, Node next) {
this.element = element;
this.next = next;
}

private Node(int element) {
this.element = element;
}
}

private Node head = null;

public void prepend(int object) {
head = new Node(object, head);
}

public void append(T object) {
if(head == null) {
head = new Node(object);
return;
}
Node current = head;
while(current.next != null) {
current = current.next;
}
current.next = new Node(object);
}

public T first() {
return get(0);
}

public int get(T index) {
Node current = head;
for(int i = 0; i < index; i++) {
current = current.next;
}
return current.element;
}

public int size() {
Node current = head;
int size = 0;
for(; current != null; size++) {
current = current.next;
}
return size;
}

public String toString() {
String string = "";
while(head != null) {
string += head.element + " -> ";
head = head.next;
}
return string;
}
So sieht mein Programm aus aber beim ausführen kommen fehler wie "symbol T" wird nicht gefunden kann mir einer sagen wo ich was falsch gemacht habe?
 
M

Mart

Gast
verwende code tags das ist beim beitrag erstellen das </> zeichen

du hast vergessen T zu deklarieren
Java:
public class List <T>{
 
K

kneitzel

Gast
Als ersten Fehler würde ich nennen: Du hast Code nicht in Code Tags gepostet. Wenn Du Code im Forum Posten willst, dann nutze bitte Code Tags. Dazu einfach oberhalb des Eingabefeldes den Knopf </> nutzen und dann den Code im PopUp hinein kopieren. Alternativ kannst Du vor den Code [CODE] und danach [/CODE] schreiben.

Und wenn Du in einer Klasse Generics nutzen willst, dann musst Du das auch mit angeben, also etwas wie public class Node <T> {
 

AmonSchmidt

Mitglied
verwende code tags das ist beim beitrag erstellen das </> zeichen

du hast vergessen T zu deklarieren
Java:
public class List <T>{
habe es verbessert aber nun kommen diese fehler :
int cannot be converted to T
this.element = element;
^
where T is a type-variable:
T extends Object declared in class List
List.java:20: error: incompatible types: int cannot be converted to T
head = new Node(object, head);
^
where T is a type-variable:
T extends Object declared in class List
List.java:25: error: incompatible types: T cannot be converted to int
head = new Node(object);
^
where T is a type-variable:
T extends Object declared in class List
List.java:32: error: incompatible types: T cannot be converted to int
current.next = new Node(object);
^
where T is a type-variable:
T extends Object declared in class List
List.java:36: error: incompatible types: int cannot be converted to T
return get(0);
^
where T is a type-variable:
T extends Object declared in class List
List.java:41: error: bad operand types for binary operator '<'
for(int i = 0; i < index; i++) {
^
first type: int
second type: T
where T is a type-variable:
T extends Object declared in class List
List.java:44: error: incompatible types: T cannot be converted to int
return current.element;
^
where T is a type-variable:
T extends Object declared in class List
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
7 errors
 

temi

Top Contributor
Hier z. B.
Java:
private Node(int element) {
    this.element = element;
}

Der Parameter ist vom Typ int und die Instanzvariable ist vom Typ T und genau das steht auch in der Fehlermeldung: int cannot be converted to T


EDIT: Kann es sein, dass es sich ursprünglich um eine Liste für int-Werte handelte, die jetzt generisch werden soll? Dann hast du wohl ein paar ints vergessen...
 
Zuletzt bearbeitet:

temi

Top Contributor
Und hier: public int get(T index) hast du den ursprünglichen int-Parameter zu T geändert. Ein Index bleibt aber ein int-Wert, während natürlich der Rückgabewert nicht mehr vom Typ int ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Habe ein svg bild, kann ich das zu svg koordinaten umrechnen, damit ich den Umriss zeichnen kann? Wenn ja wie? Allgemeine Java-Themen 1
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
J Videokonferenz mittel Java ? Welche Möglichkeiten habe ich ? Allgemeine Java-Themen 2
N Warum habe ich keine Spaltenüberschriften? Allgemeine Java-Themen 6
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
P Source code verloren habe nur noch kompilierte .jar. Allgemeine Java-Themen 12
P Habe ein kleines Problem Allgemeine Java-Themen 2
S habe programm aber es lässt sich net mit bild einbinden! Allgemeine Java-Themen 4
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
berserkerdq2 Kann keine Labels erstellen, was ist hier syntaktisch falsch Allgemeine Java-Themen 5
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
K Vorzeichen falsch Allgemeine Java-Themen 2
R JDK installieren OpenJDK druckt falsch Allgemeine Java-Themen 3
R Verschlüsselung falsch Allgemeine Java-Themen 3
@SupressWarnings() Multilanguaging lädt immer falsch Allgemeine Java-Themen 5
T Umlaute werden falsch gedruckt Allgemeine Java-Themen 2
B public class JarFilter extends FileFilter « Falsch? Allgemeine Java-Themen 4
M Google Guice (Assisted Injects) - Buggy oder mach ich's falsch? Allgemeine Java-Themen 5
O Socket Object wird scheinbar falsch empfangen Allgemeine Java-Themen 6
T Ausgabe falsch! Allgemeine Java-Themen 5
_dp Datentypen PriorityQueue sortiert falsch? Allgemeine Java-Themen 6
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
R Was ist hier falsch? Abfragen Allgemeine Java-Themen 3
D Zufall wahr bzw. falsch mit zwei Faktoren Allgemeine Java-Themen 10
N BigDecimal falsch formatiert bei Locale.GERMANY Allgemeine Java-Themen 3
I For- Schleife falsch? Allgemeine Java-Themen 8
Developer_X Graphic was falsch? Allgemeine Java-Themen 6
T Wurfweitenberechnung: X-Werte bei extremen Werten falsch. Allgemeine Java-Themen 15
R Sting.split() was mache ich falsch? Allgemeine Java-Themen 5
T NetBeans: Ist meine Konfiguration falsch? Allgemeine Java-Themen 7
M Java rechnet falsch? Allgemeine Java-Themen 22
N MathContext rundet falsch? Allgemeine Java-Themen 1
U if Abfrage macht etwas falsch Allgemeine Java-Themen 2
T Pipe-Funktion - Prozente falsch? Allgemeine Java-Themen 8
R Prozente falsch errechnet? Allgemeine Java-Themen 27
TheJavaKid *GGRRR* was mach ich falsch >:( Allgemeine Java-Themen 3
P Was ist denn Bitte falsch? Allgemeine Java-Themen 2
S Was ist hier falsch? Allgemeine Java-Themen 16
M Systemzeit der Java VM geht falsch Allgemeine Java-Themen 4
T Hilfe! Was ist falsch? Allgemeine Java-Themen 7
M Zugriffsberechtigung unter Windows 2000 falsch? Allgemeine Java-Themen 3
N Collisiondetection - Richtig gemacht? Allgemeine Java-Themen 4
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
T update() wird bei Programmstart und resize nicht gemacht Allgemeine Java-Themen 4
B Installshield selbst gemacht Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben