Variablen ändern wenn eine andere geändert wird

noil

Gesperrter Benutzer
Hallo,
ich würde gern wissen, ob es möglich ist eine Variable so zu definieren, dass sie sich immer um eins erhöht, wenn sich eine bestimmte andere Variable verändert? Und wenn ja wie?
Grüße
noil
 
naja kommt drauf an wann die andere variable geändert wird oder ob du das ganze ihrgendwo updatest endweder du machst einfach die 2te variable immer ein hoch an der stelle wo die andere varibale ehöt wird oder wenn du ihrgendwo einen Butten hast oder eine Update Methode fragst du da ab ob die andere erhöt wurde und erhöt dann deine 2te
 
Nein sowas ist nicht direkt möglich.
Aber du kannst das Ändern von Variable A nur durch eine bestimmte Methode (setter oä) erlauben, in dieser Methode kannst du dann deine andere gewünschte Variable B ebenfalls erhöhen.

Du könntest natürlich auch etwas mehr vom Kontext erzählen, vielleicht gibt es eine einfachere Möglichkeit deine Problem zu lösen.
 
Also ich lese eine txt aus und will immer wenn ich "zeile = in.readLine()"("in" ist n BufferedReader) mache dass sich mein zeilencounter erhöht.

des readLine() kann man ja wohl vermutlich schlecht erweitern, oder? Weil im Idealfall müsste ich auch noch gewisse Wörter ausschließen, also er soll wenn z.B. "Platz" enthalten ist einfach die nächste Zeile nehmen.


EDIT: stand iwie auf dem Schlauch. Die setterMethode ist ja schon die Lösung. Da überlegt man nen Tag wies geht und dann kommt man nicht auf die einfachste Lösung die auch noch perfekt ist^^. DANKE 😀
 
Zuletzt bearbeitet:
Klar könntest du die Klasse "BufferedReader" erweitern (davon ableiten) und dann die Methode "readLine" überschreiben.

Beispiel:
Java:
public class MyReader extends BufferedReader {

	private int linecounter;

	public MyReader(Reader in) {
		super(in);
		linecounter = 0;
	}

	@Override
	public String readLine() throws IOException {
		linecounter++;
		return super.readLine();
	}

	public int getLinecounter() {
		return linecounter;
	}
}

Wobei ich das auslassen von Zeilen nicht direkt in dieser Ableitung implementieren würde. Sondern dann in der Klasse welche diese verwendet.
 
Ok,
Ich habs jetzt so gemacht wie oben vorgeschlagen wurde. War in dem Fall deutlich leichter^^.
Aber trotzdem vielen Dank für die Antwort. Außerdem hab ich so schon wieder was gelernt 😀
Woher weiß ich denn welche Variablen/wie die Methoden aussehen in den bereits vorhandenen Klassen von Java?
Grüße und guten Rutsch
 

Zurück
Oben