OOP Überschreiben von Eigenschaften

Status
Nicht offen für weitere Antworten.

buntuswalus

Mitglied
Hallo Ihr leiben,

ich habe ein kleines Problem und werde nun versuchen es so gut es geht zu erklären.
Ein Teil meines Codes fürt zu Fehlern, da aus irgend einem Grund eine Eigenschaft einer Klasse
nicht richtig überschrieben werden kann.

Der Ablauf ist dieser:

1. Eigenschaft X wird als Standart mit dem Wert 0 versehen (bei der Deklaration)
2. Methode A
Gibt die Eigenschaft X aus
ruft Methode B auf
Gibt die Eigenschaft X aus
Setzt X auf 0
ruft Methode B auf
Gibt die Eigenschaft X aus

Methode B erhöht die Eigenschaft X um 13

So nach dem Ablauf bekomme ich also 3 Ausgaben. Ich erwarte natürlich eine Ausgabe
wie "0,13,13" bekomme aber "0,13,0". Jemand eine schlaue Idee? :autsch:

Lieben Dank! :)
 
Zuletzt bearbeitet:

Arbon

Bekanntes Mitglied
Zeig am besten mal deinen Code auch her.

Was mir noch in den sinn gekommen ist, wenn Methode B X um 13 erhöht, müsste X nach dem zweiten aufrufen von B eigentlich 26 sein und nicht noch einmal 13?
 

HoaX

Top Contributor
Und wir sollen nun raten welche Methode nicht richtig funktioniert?
Kürze doch das Ganze auf das nötigste.
Alternativ lern doch mal den Debugger zu benutzen. Dann solltest du recht schnell sehen warum der Wert nicht wieder erhöht bzw falsch gesetzt wird.
 

buntuswalus

Mitglied
@Final_Striker steht nun gekürz unten
@Arbon hoppala, ist nun berichtig :oops:
@HoaX Tut mir leid wegen dem ganzen code :)

Also das Problem ereignet sich in der Methode (A):
get_bestRotation(IExecution control)

welche die Methode (B) aufruft
routine_borderFollow(control, rotationsAbfolge, true);


Ich erkläre das mal ganz kurz der Code steuert eine Ratte durch ein Labyrinth. Die Methode (A) get_bestRotation() ist dafür zuständig verschiedene Rotationen auszuprobieren indem Sie die Methode (B) routine_borderFollow() aufruft. Diese tut ganz viele ding die überhaupt nicht interessieren, außer dass sie die Eigenschaft "redundanteFeldbesuche" (int) um einen Betrag erhöht. Bei einem Durchlauf mit einer Rotation entstehen immer einige Doppelte Besuche von Feldern. Später soll sozusagen die Beste Rotation ausgewählt werden.

Problem ist die Testausgabe in der Methode A. Es werden insgesamt 3 Rotationen ausprobiert. Welche die Ausgaben 13,11,17 ergeben sollten. Führen derzeit aber zu 13,0,0.

Java:
public int redundanteFeldbesuche = 0;

public void get_bestRotation(IExecution control) throws CancelException
{
	int[][][] rotationsAbfolge = new int[4][4][3];
	rotationsAbfolge = set_movementSequences();			
	
	for (int i=0; i<4; i++)
	{
		if (i != 1)
		{
			redundanteFeldbesuche = 0;
			routine_borderFollow(control, rotationsAbfolge[i], true);
			System.out.println(redundanteFeldbesuche);
		}
	}
}
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Die Aufrufe noch grob bis zu dieser Struktur
Code:
routine_borderFollow
    routine_checkForDeadEnd
        routine_deadEndEscape
            routine_deadEndEscape
                routine_goToCoordinates
        routine_borderFollow
             ...
nachzuvollziehen ging ja, aber dort sind schon einige Rekursionen drin.

Erster Tipp: Verwende einen debugger. Bei rekursiven Aufrufen macht das aber auch keinen Spaß.
Zweiter Tipp: Schreibe dir vor jede Stelle, wo die fragliche Variable verändert wird, ein
System.out.println("Ändere Variable von "+alt+" auf "+neu);
und an den Anfang und das Ende (d.h. vor jedes Return) jeder Methode ein
System.out.println("Betrete Methode XXX, wert ist "+fraglicheVariable);
System.out.println("Verlasse Methode XXX, wert ist "+fraglicheVariable);
vielleicht hilft das.
 

buntuswalus

Mitglied
Hui, da war einer schneller im Lesen als ich im Löschen war:applaus:
@Marco13 Hm, das mit dem Systemoutpunt klingt erstmal auf die Schnelle gut, mach ich doch gleich mal. Vielen Dank! _Ich meld mich.

EDIT:
Autsch! das ist peinlich... dabei sollte ich meinen Code kennen. Ja habs. Die Methode routine_borderFollow() wurde genau einmal korrekt ausgeführt. Bei allen weiteren versuchen brach Sie vorzeitig ab. Der Thread ist heirmit erledigt und ich geh mich schämen. :D Habe auf der falschen Stelle rumgetreten.

Lieben Dank.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
B Überschreiben und Überladen Java Basics - Anfänger-Themen 8
B Überschreiben und verdecken Java Basics - Anfänger-Themen 1
O Überschreiben/Überladen Methode Java Basics - Anfänger-Themen 6
R Schreibzugriff bei jedem Überschreiben? Java Basics - Anfänger-Themen 6
C Überschreiben von Methoden Java Basics - Anfänger-Themen 3
H Polymorphismus-Überschreiben Java Basics - Anfänger-Themen 1
F Überschreiben nach einer Vererbung Java Basics - Anfänger-Themen 2
A HashCode Überschreiben Java Basics - Anfänger-Themen 2
K Überschreiben einer "super.super"-Methode Java Basics - Anfänger-Themen 6
K Überschreiben und Überladen Java Basics - Anfänger-Themen 3
M Überschreiben von JPanels funktioniert nicht! Java Basics - Anfänger-Themen 9
T Polymorphie:Überschreiben der Methode klappt nicht Java Basics - Anfänger-Themen 4
K Überladen und Überschreiben von Methoden Java Basics - Anfänger-Themen 3
0 Überschreiben von pai*tBackground() Java Basics - Anfänger-Themen 2
G Überschreiben einer Variable umgehen Java Basics - Anfänger-Themen 6
G Überschreiben von Methoden beim Casting Java Basics - Anfänger-Themen 7
O Überschreiben erzwingen Java Basics - Anfänger-Themen 6
W Überschreiben von Elternklasse Java Basics - Anfänger-Themen 15
M JFileChooser Überschreiben Dialog? Java Basics - Anfänger-Themen 2
G Frage zum Überschreiben einer Klasse Java Basics - Anfänger-Themen 6
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
D Überschreiben Java Basics - Anfänger-Themen 9
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
E Eigenschaften Werte, in einer anderen Klasse, zuweisen Java Basics - Anfänger-Themen 40
I Eigenschaften von Position aus anderer Klasse übernehmen Java Basics - Anfänger-Themen 17
r4w Eigenschaften aus Objekt einer Liste holen Java Basics - Anfänger-Themen 3
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
T Methoden und ihre Eigenschaften Java Basics - Anfänger-Themen 5
D Eigenschaften eines Objektes ändern Java Basics - Anfänger-Themen 1
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
K Eigenschaften Definieren für Produkte in einer Klasse Java Basics - Anfänger-Themen 6
2 Klassen Eigenschaften eines Objektes an ein Unterobjekt übergeben Java Basics - Anfänger-Themen 6
Kenan89 JMenu Eigenschaften Java Basics - Anfänger-Themen 7
L eingegebene Strings nache Eigenschaften durchsuchen. Java Basics - Anfänger-Themen 25
D Zylinder/Eigenschaften (auf Größe) vergleichen Java Basics - Anfänger-Themen 16
E Reguläre Ausdrücke mit sehr variablen Eigenschaften Java Basics - Anfänger-Themen 2
Z OOP Probleme bei den Veto-Eigenschaften von Listenern Java Basics - Anfänger-Themen 8
A Zugriff auf andere Klass und die Eigenschaften Java Basics - Anfänger-Themen 17
C Eigenschaften außerhalb einer Klasse nicht sichtbar Java Basics - Anfänger-Themen 13
W Algorithmen und Eigenschaften Java Basics - Anfänger-Themen 29
JFeel-x JComponent<-----Eigenschaften<-- Als Liste abfragen? Java Basics - Anfänger-Themen 8
G Tab Eigenschaften Java Basics - Anfänger-Themen 2
S Übersicht der Eigenschaften von Klassen Java Basics - Anfänger-Themen 8
P Eigenschaften eines Buttons ändern Java Basics - Anfänger-Themen 6
T Klasse mit Eigenschaften Java Basics - Anfänger-Themen 2
D Objekten ihre Eigenschaften zuweisen Java Basics - Anfänger-Themen 3
B eigenschaften eines objekt kopieren. how? Java Basics - Anfänger-Themen 8
G elemente in einem vektor nach ihren eigenschaften sortieren Java Basics - Anfänger-Themen 2
W Berechnung verschiedener Eigenschaften von Geraden Java Basics - Anfänger-Themen 4
G Nichtfunktionale Eigenschaften: Java Programm Java Basics - Anfänger-Themen 31

Ähnliche Java Themen

Neue Themen


Oben