ChristianS hat geschrieben:...Es wird eine integer Variable (int elt) als Parameter übergeben. Ich sehe aber nirgendwo in dem Vektor-Programm wo diese Variable initiialiesiert wird...
In der Klasse
VektorHauptProgramm wird
get() in der Methode
addieren() direkt mit Werten aufgerufen. Die Werte sind hartcodiert in dieser Methode enthalten.
Wie du ja schon richtig bemerkt hast ist
int elt ein Parameter der Methode
get() (und damit eigentlich auch keine Variable wenn mans genau nimmt) und muss daher nicht nochmal explizit irgendwo initialisiert werden.
Alles was du an Parametern bekommst kannst du direkt in der entsprechenden Methode verwenden.
ChristianS hat geschrieben:...Ist das vielleicht irgendwas spezielles was bei jeder get-Methode dabe sein muss ?...
Das ist eher was spezielles, was bei dieser Methode dabei ist.
Generell haben Getter eigentlich keine Parameter und Setter keinen Rückgabewert (void).
ChristianS hat geschrieben:...In der Methode kommen dann if-Anweisungen. Ich interpretiere das so : Wenn elt 1 entspricht dann soll er die Varaible x zurückgeben. Wenn es 2 ist soll er die Variable y zurückgeben...
Korrekt.
ChristianS hat geschrieben:...Bei dem Vektor soll er doch eigtl alle 3 Werte zurückgeben. Also x, y, und z. Wieso dann überhaupt eine If-Abfrage ? Ich könnte doch auch einfach folgende Methode schreiben :
public int get(int x, int y, int z) {
return x;
return y;
return z;
}
Bei deiner Methode würde immer der erste Parameter (x) zurückgegeben. Bei einem Return-Statement "springt" der Interpreter wieder zurück zur aufrufenden Methode und alles weitere wird nicht mehr beachtet.
Zusätzlich übergibst du in deiner Parameterliste den Wert x, der dann ohne weitere Behandlung/Verarbeitung direkt wieder im
return Statement auftaucht.
Du könntest alternativ 3 Methoden (
getX(), getY(), getZ()) schreiben, die dann jeweils den Wert der einzelnen Komponenten liefern.
ChristianS hat geschrieben:...Für z wird dann gar keine if-else-Abfrage mehr gemacht. Logisch wäre es doch gewesen, wenn man auch hier eine If-Abfrage einbauen würde. Also quasi :
if (elt ==3) return z...
Für die letzte Komponente ist keine Abfrage mehr nötig, weil diese ja die Einzige ist, die noch übrig bleibt (vergleiche auch meine Ausführungen zu
return weiter oben). Wenn du also nicht Komponente 1 oder 2 ausgewählt hast, dann willst du wohl Komponente 3 haben (grob gesprochen).
Man könnte sich jetzt Gedanken über eine eventuelle Fehlerbehandlung mit den entsprechenden Mitteln, die Java zur Verfügung stellt, machen, wenn die Eingabe
elt größer 3 oder kleiner 1 ist. Aber das ist für die Programme hier wohl nicht unbedingt nötig und würde auch den Rahmen eines
Einführungskurses sprengen.