Hi ich hab da ein kleines Problem mit Java wie der Titel schon sagt. Da ich momentan diese Sprache erst seid 3 Wochen benutze hab ich auch noch nicht die große Erfahrung darin. Bevor ich jetzt den Fehler poste erst mal ein Beispielprogramm welches ebenfalls diesen Fehler hervorbringt:
// Datei Kap07/ListenDemo.java
import java.util.LinkedList;
import java.util.*;
import java.util.Iterator;
import java.util.Collections;
import java.lang.annotation.*;
public class ListenDemo {
public static void main(String args[]) {
Item aktuell = new Item("Dirk", 34232424);
System.out.println(aktuell);
LinkedList<Item> freunde = new LinkedList<Item>();
//freunde.add(new Integer(5));
freunde.add(aktuell);
freunde.add(new Item("Peter", 78798798));
freunde.add(new Item("Katja", 243238766));
//Nach Dirk einfügen
freunde.add(1, new Item("Julia", 47243284));
System.out.println(
"Telefonliste\n------------------------------");
System.out.println("a) direkt");
System.out.println(freunde);
System.out.println("\nb) mittels for-schleife");
for (int i=0; i < freunde.size();i++) {
aktuell = (Item) freunde.get(i);
System.out.println(aktuell);
}
System.out.println("\nc) mittels for-each-schleife");
for (Item item : freunde) {
System.out.println(item);
}
System.out.println("\nc) mittels eines Iterator");
Iterator<Item> it = freunde.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Collections.sort(freunde);
System.out.println("\nNach der Sortierung");
for (Item item : freunde) {
System.out.println(item);
}
}
}
class Item implements Comparable<Item> {
String name;
int nummer;
Item(String name, int nummer){
this.name = name;
this.nummer = nummer;
}
@Override
public String toString() {
return name + ": " + nummer;
}
public int compareTo(Item item) {
return -name.compareTo(item.name);
}
}
Ich habe jetzt mal die Annotationstelle Rot markiert damit jeder gleich sieht worum es geht. Mein Problem ist jetzt das ich hier 3 Rechner stehen hab wobei sich das Prog. ohne Probleme auf 2en übersetzen lässt. Lediglich bei meinem Hauptrechner wo es mir am wichtigsten ist das alles einwandfrei läuft bekomme ich bei der Übersetzung folgenden Fehler:
C:\Dokumente und Einstellungen\KKHBG2B\Desktop\Projekte\Java\mut\Kapitel7\ListenDemo.java:68: incompatible types
found : Override
required: java.lang.annotation.Annotation
@Override
^
1 error
Tool completed with exit code 1
Mein OS ist Win XP (32 bit).
JDK: Update 24 (via Console wird auch die aktuelle Version von javac angezeigt).
Im Moment nehm ich zum übersetzen das Textpad welches ja den selben fehler anzeigt wie CMD. Suchpfad ist korrekt gesetzt und ohne @Override lässt sich das Programm problemlos kompilieren. Bisher habe ich Java schon X mal neu installiert (vorher komplett deinstalliert) und weis einfach nicht mehr weiter. Mir kommt es vor als könnte er das @ nicht erkennen hab aber keine Ahnung ob das stimmt und woher das kommt.
Ich wäre echt dankbar für jeden Lösungsvorschlag von euch.
Gruß Chris
// Datei Kap07/ListenDemo.java
import java.util.LinkedList;
import java.util.*;
import java.util.Iterator;
import java.util.Collections;
import java.lang.annotation.*;
public class ListenDemo {
public static void main(String args[]) {
Item aktuell = new Item("Dirk", 34232424);
System.out.println(aktuell);
LinkedList<Item> freunde = new LinkedList<Item>();
//freunde.add(new Integer(5));
freunde.add(aktuell);
freunde.add(new Item("Peter", 78798798));
freunde.add(new Item("Katja", 243238766));
//Nach Dirk einfügen
freunde.add(1, new Item("Julia", 47243284));
System.out.println(
"Telefonliste\n------------------------------");
System.out.println("a) direkt");
System.out.println(freunde);
System.out.println("\nb) mittels for-schleife");
for (int i=0; i < freunde.size();i++) {
aktuell = (Item) freunde.get(i);
System.out.println(aktuell);
}
System.out.println("\nc) mittels for-each-schleife");
for (Item item : freunde) {
System.out.println(item);
}
System.out.println("\nc) mittels eines Iterator");
Iterator<Item> it = freunde.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Collections.sort(freunde);
System.out.println("\nNach der Sortierung");
for (Item item : freunde) {
System.out.println(item);
}
}
}
class Item implements Comparable<Item> {
String name;
int nummer;
Item(String name, int nummer){
this.name = name;
this.nummer = nummer;
}
@Override
public String toString() {
return name + ": " + nummer;
}
public int compareTo(Item item) {
return -name.compareTo(item.name);
}
}
Ich habe jetzt mal die Annotationstelle Rot markiert damit jeder gleich sieht worum es geht. Mein Problem ist jetzt das ich hier 3 Rechner stehen hab wobei sich das Prog. ohne Probleme auf 2en übersetzen lässt. Lediglich bei meinem Hauptrechner wo es mir am wichtigsten ist das alles einwandfrei läuft bekomme ich bei der Übersetzung folgenden Fehler:
C:\Dokumente und Einstellungen\KKHBG2B\Desktop\Projekte\Java\mut\Kapitel7\ListenDemo.java:68: incompatible types
found : Override
required: java.lang.annotation.Annotation
@Override
^
1 error
Tool completed with exit code 1
Mein OS ist Win XP (32 bit).
JDK: Update 24 (via Console wird auch die aktuelle Version von javac angezeigt).
Im Moment nehm ich zum übersetzen das Textpad welches ja den selben fehler anzeigt wie CMD. Suchpfad ist korrekt gesetzt und ohne @Override lässt sich das Programm problemlos kompilieren. Bisher habe ich Java schon X mal neu installiert (vorher komplett deinstalliert) und weis einfach nicht mehr weiter. Mir kommt es vor als könnte er das @ nicht erkennen hab aber keine Ahnung ob das stimmt und woher das kommt.
Ich wäre echt dankbar für jeden Lösungsvorschlag von euch.
Gruß Chris