U
Unregistriert
Gast
Hallo, Ich bin Umsteiger von java5 zu java6 und habe in einer Klasse 11 fehle bzw. Warnungen. Wer kann mir hierbei helfen.
Den Quelltext mit den unterstrichenen Fehlern und Fehlermeldungen kopiere ich mal hierher.
Danke Phares
Fehlermeldung
Den Quelltext mit den unterstrichenen Fehlern und Fehlermeldungen kopiere ich mal hierher.
Danke Phares
Java:
package spielLogik;
import java.util.*;
/**Die Klasse KaskadeManager dient als Sammelcontainer für die
* überlaufenden Felder. Diese Klasse führt auch Stein für Stein
* die Verteilung der Spielsteine auf die Nachbarfelder durch.
* Die Behandlung der kaskadierenden Felder erfolgt FIFO.
* */
public class KaskadeManager /*implements Runnable*/{
static public KaskadeManager instanz;
private LinkedList<Feld> kaskadierteFelder; (Fehler)
/* static {
instanz = new KaskadeManager();
}
public static KaskadeManager getInstance(){
return instanz;
}
*/ public KaskadeManager() { // *** Neuer Konstruktor
kaskadierteFelder = new LinkedList<Feld>(); (Fehler)
}
synchronized public void attach(Feld f){
kaskadierteFelder.addLast(f); (Fehler)
}
public void clear(){
kaskadierteFelder.clear(); (Fehler)
}
synchronized public Feld getNextFeld(){
if (!kaskadierteFelder.isEmpty()){ (Fehler)
return (Feld)kaskadierteFelder.getFirst(); (Fehler)
}
else {
return null;
}
}
synchronized public void uebertrageStein(Stellung st, Feld feldQuelle, Feld feldZiel,
boolean einzelschrittDarstellung){
/*
1. Feldwert des Nachbar ermitteln und vorzeichenlos in Variable sichern
2. den FeldWert des Nachbarfeldes um 1 erhöhen, Vorzeichen = wertSpielStein
3. den FeldWert des eigenen Feldes um 1 erniedrigen, Vorzeichen = wertSpielStein
*/
int valueZielAlt;
int valueZielNeu;
int valueQuellAlt;
int valueQuellNeu;
Spieler spieler = st.getSpielerAktuell();
Spieler gegner = (spieler == st.getSpieler1()) ? st.getSpieler2(): st.getSpieler1();
System.out.println("einzelschrittDarstellung : "+einzelschrittDarstellung);
if (einzelschrittDarstellung) {
try {
Thread.sleep(500);
}
catch (InterruptedException ie) {
}
}
System.out.println("Kaskadeübertrag von ("+feldQuelle.getPosX()+","+feldQuelle.getPosY()
+") nach ("+feldZiel.getPosX()+","+feldZiel.getPosY()+")");
// Stein dem Nachbarfeld zufügen. Falls von Gegner besetzt, Vorzeichenwechsel auf dem Nachbarfeld!
valueZielAlt = feldZiel.getValue();
valueZielNeu = st.getWertSpielstein()*Math.abs(valueZielAlt);
feldZiel.setValue((byte)valueZielNeu);
feldZiel.add(st.getWertSpielstein(), spieler);
// AnzahlSteine beider Spieler korrigieren, wenn im Nachbarfeld zuvor Steine des Gegners waren.
// D.h. wenn Feldwert alt und neu unterschiedlich ( a*n < 0 ), so sind diese Steine dem
// aktuellen Spieler zu zu rechnen und beim Gegner ist diese Anzahl Steine abzuziehen.
// Wenn Feldwert alt und neu gleiches Vorzeichen haben, sind die Steine bereits in AnzSteine
// des aktuellen Spielers enthalten, d.h. diese Zusatzrechnung wird übersprungen.
if (valueZielAlt * valueZielNeu < 0){
spieler.addSteine(Math.abs(valueZielNeu));
gegner.removeSteine(Math.abs(valueZielNeu));
System.out.println("Kaskadeübertrag (valueZielAlt="+valueZielAlt+
"*valueZielNeu="+valueZielNeu+")= "
+(valueZielAlt*valueZielNeu));
}
// Stein vom eigenen Feld entfernen.
valueQuellAlt = feldQuelle.getValue();
// Reduzierung der Anzahl Steine mit Vorzeichenbeachtung je nach aktuellem Spieler.
if (valueQuellAlt<0) valueQuellNeu = valueQuellAlt+1 ;
else valueQuellNeu = valueQuellAlt-1;
feldQuelle.setValue((byte)valueQuellNeu);
spieler.removeSteine(1);
}
synchronized public void abarbeiten(Stellung st, boolean einzelschrittDarstellung){
System.out.println("KaskadeManager#abarbeiten#einzelschrittDarstellung : "+einzelschrittDarstellung);
// Für jedes Feld der Liste 'kaskadierteFelder' die Steine an die Nachbarfelder übergeben, d.h.
// den Nachbarfeldern je einen Stein zufügen & dem eigenen Feld einen Stein abziehen (Vorzeichen!).
/*
1. Nach und nach prüfen, ob Nachbarfelder existieren. (von oben im Uhrzeigersinn)
2. Wenn Nachbar existiert, mit uebertrageStein(..) Stein an den Nachbar übertragen
3. nächstes Nachbarfeld bearbeiten.
*/
Feld feldInBearbeitung = getNextFeld(); // getNextFeld ist nur 1x zu Beginn abzufragen,
// sonst erfolgt die Abarbeitung der Felder unvollständig!
Feld feldNachbarInBearbeitung; // wird später je Nachbar initialisiert, siehe unten.
byte posX;
byte posY;
// Bestimme Maximalwerte für gültige Feldpos zur Prüfung ob ein Nachbar existiert.
int maxIndexX =st.getBrett().getSizeX()-1;
int maxIndexY =st.getBrett().getSizeY()-1;
// Nachbar oben
posX = feldInBearbeitung.getPosX();
if ((posY = (byte)(feldInBearbeitung.getPosY()-1)) >= 0){
feldNachbarInBearbeitung = st.getBrett().getFeld(posX,posY);
uebertrageStein(st, feldInBearbeitung, feldNachbarInBearbeitung, einzelschrittDarstellung);
}
// Nachbar rechts
posY = feldInBearbeitung.getPosY();
if ((posX = (byte)(feldInBearbeitung.getPosX()+1)) <= maxIndexX){
feldNachbarInBearbeitung = st.getBrett().getFeld(posX,posY);
uebertrageStein(st, feldInBearbeitung, feldNachbarInBearbeitung, einzelschrittDarstellung);
}
// Nachbar unten
posX = feldInBearbeitung.getPosX();
if ((posY = (byte)(feldInBearbeitung.getPosY()+1)) <= maxIndexY){
feldNachbarInBearbeitung = st.getBrett().getFeld(posX,posY);
uebertrageStein(st, feldInBearbeitung, feldNachbarInBearbeitung, einzelschrittDarstellung);
}
// Nachbar links
posY = feldInBearbeitung.getPosY();
if ((posX = (byte)(feldInBearbeitung.getPosX()-1)) >= 0){
feldNachbarInBearbeitung = st.getBrett().getFeld(posX,posY);
uebertrageStein(st, feldInBearbeitung, feldNachbarInBearbeitung, einzelschrittDarstellung);
}
// zum Schluss das kaskadierte Feld aus der Liste löschen
kaskadierteFelder.removeFirst(); (Fehler)
}
public boolean isEmpty(){
return kaskadierteFelder.isEmpty(); (Fehler) So zieht es sich durch die ganze Klasse
}
}
Fehlermeldung
Code:
Wertigkeit und Beschreibung Pfad Ressource Position Erstellungszeit ID
Der Typ LinkedList ist nicht generisch; er kann nicht mit Argumenten <Feld> mit einer Parameterangabe versehen werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 14 1254683378531 116
Die serialisierbare Klasse BrettException deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui BrettException.java Zeile 3 1254683378812 146
Der Typ LinkedList ist nicht generisch; er kann nicht mit Argumenten <Feld> mit einer Parameterangabe versehen werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 23 1254683378531 119
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 23 1254683378531 118
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 26 1254683378531 121
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 29 1254683378531 122
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 32 1254683378531 123
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 33 1254683378531 124
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 147 1254683378531 125
kaskadierteFelder kann nicht aufgelöst werden KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 150 1254683378531 126
Syntaxfehler, Typen mit Parameterangabe sind nur für Quellenebene 5.0 verfügbar KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 14 1254683378531 117
Syntaxfehler, Typen mit Parameterangabe sind nur für Quellenebene 5.0 verfügbar KaskadeWS0607_0,44/spielLogik KaskadeManager.java Zeile 23 1254683378531 120
Die serialisierbare Klasse MyInfoPanel deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui GUI.java Zeile 103 1254683378812 142
Die serialisierbare Klasse MyJCheckBox deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui MyJCheckBox.java Zeile 5 1254683378734 139
Die serialisierbare Klasse MyJLabel deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui MyJLabel.java Zeile 5 1254683378734 138
Die serialisierbare Klasse MyJRadioButton deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui MyJRadioButton.java Zeile 6 1254683378718 137
Die serialisierbare Klasse MyJTextPane deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui MyJTextPane.java Zeile 5 1254683378718 136
Die serialisierbare Klasse MyMenuBar deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui GUI.java Zeile 246 1254683378812 143
Die serialisierbare Klasse SetupSpiel deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui SpielNeuDialog.java Zeile 192 1254683378656 130
Die serialisierbare Klasse SetupSpieler deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui SpielNeuDialog.java Zeile 98 1254683378656 129
Die serialisierbare Klasse SpielBrettPanel deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui SpielBrettPanel.java Zeile 12 1254683378718 135
Die serialisierbare Klasse SpielFeldPanel deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' KaskadeWS0607_0,44/gui SpielFeldPanel.java Zeile 28 1254683378703 134
Zuletzt bearbeitet von einem Moderator: