Java: Zwei Werte returnen?
Hallo,
wie kann ich die Variablen i und j returnen?
neu
4 Antworten
![](https://images.gutefrage.net/media/user/FaTech/1708715131049_nmmslarge__0_0_500_500_77a0f43d5804c908f40c8a1b0c260400.png?v=1708715131000)
Als Array oder (ich weiß nicht, ob Java es auch unterstützt) als tuple, aber am besten wäre eine Klasse/strukt, die genau dafür ist
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
du brauchst dafür java17 oder bibliotheken
das stichwort ist Tuple
java hat ab 17 offizielle unterstützung dafür in der form von named tuples bzw. records
record T2(int i, int j) {
}
return new T2(i, j);
![](https://images.gutefrage.net/media/user/QuietMaths/1709635111133_nmmslarge__0_0_1024_1024_3ee6d102f9fff3b8eb89a9336cca61ab.jpg?v=1709635111000)
Das geht in Java nicht direkt. Eine Funktion gibt immer nur eine Variable zurück. Du kannst aber z.B. i und j in einem Array speichern und dieses Array zurückgeben. Dein Funktionskopf sieht auch schon danach aus das du sowas machen wolltest. Da dort als Rückgabetyp ein Integer-Array angegeben ist.
Mit folgenden Code erstellst du ein Array das i und j beinhaltet. Dieses kannst du dann zurückgeben:
int[] result = {i, j};
Ich hoffe ich konnte dir damit weiterhelfen.
![](https://images.gutefrage.net/media/user/QuietMaths/1709635111133_nmmslarge__0_0_1024_1024_3ee6d102f9fff3b8eb89a9336cca61ab.jpg?v=1709635111000)
Naja du beachtest hier nicht den Scope deiner Variablen.
Schreibe am Anfang deines Codes folgendes:
int i2 = 0;
int j2 = 0;
Dann kommt in die for-Schleife folgendes:
i2 = i;
j2 = j;
Dann nach der for-Schleife:
int[] result = {i2, j2};
return result;
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Geht in Java nicht ohne weiteres du müsstest die Werte beispielsweise in einer neuen Klasse wrappen die diese beiden als variable enthält und dann das Objekt returnen
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
ok meinst du so