aquastar (06.06.2012)
Thema: Methoden Parameterrückgabe
-
06.06.2012, 14:51 #1
Methoden Parameterrückgabe
Hey!
Ich hab mal 'ne Frage und zwar wie sieht es mit der Parameterrückgabe aus einer Methode von Integern aus? Ich weiß, dass man Objekte zurückgeben kann, in anderen Sprachen löst man das über sogenanntes 'Call By Reference', was es in Java nicht gibt.
Ich geb euch ein Beispiel, was ich meine:
PHP-Code:public class beispiel{
public static void main(String args[]){
int a = 5;
System.out.println(a); // Ausgabe = 5
plus(a);
System.out.println(a); // Ausgabe ist nicht 10, noch immer 5
}
private static void plus(int a){
a = a+5;
}
}
Gruß,
aquastarGeändert von aquastar (06.06.2012 um 15:04 Uhr) Grund: Jetzt sollte alles stimmen.
-
06.06.2012, 15:18 #2
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: Methoden Parameterrückgabe
Code:int a = 5; a = plus(a); ... int plus(int a) { return a + 5; }
In welchen Zusammenhang brauchst das?
-
06.06.2012, 18:11 #3
AW: Methoden Parameterrückgabe
Spoiler:
So, das ist der komplette Code.
Und nun ist es so, dass in der Zeile 'Sort(zahlenFeld, a, b)' die beiden Werte für a und b nicht zurückgegeben werden, da ich ausgeben will, wie oft getauscht wurde und wie oft die Schleife durchgegangen wurde.
Wie kann ich das nun so machen, dass in der Methode das gezählt wird und mir dann in die Mainmethode zurückgegeben wird?
Danke schonmal (:
-
06.06.2012, 18:20 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 6.217
- Blog Entries
- 5
Thanked 9.133 Times in 3.007 PostsAW: Methoden Parameterrückgabe
Eine Methode kann immer nur eine Variable zurückgeben.
Wenn mehrere Werte zurückgegeben werden sollen, gibt man einen Array zurück oder nutzt Pointer.
-
The Following User Says Thank You to DMW007 For This Useful Post:
-
06.06.2012, 18:42 #5
AW: Methoden Parameterrückgabe
Ich versteh es dennoch nicht ganz, wie ich a und b zurückgeben kann. Dass ich nur eine Variable zurückgeben kann, ist mir jetzt klar. Aber das tu ich doch schon im Parameter, oder nicht?
Und wie bekomm ich a und b zurück in meine Mainmethode?
-
06.06.2012, 18:56 #6
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: Methoden Parameterrückgabe
Die Parameter werden alle samt Call-by-Value übergeben. Deshalb sind Parameterveränderungen nur lokal wirksam.
Du könntest deine a- und b-Variable als Instanzvariablen deklarieren. Deine Methode könnte auf diese zugreifen und die Veränderungen würden nach Verlassen der Methode wirksam bleiben.
-
The Following User Says Thank You to Mr. White For This Useful Post:
aquastar (06.06.2012)
-
06.06.2012, 19:07 #7
AW: Methoden Parameterrückgabe
Und wie würde das dann an meinem Beispiel aussehen?
-
06.06.2012, 19:22 #8
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: Methoden Parameterrückgabe
Code:public class Test { private int a = 0, b = 0; @Override public String toString() { return "a=" + a + ", b=" + b; } public void doSomething() { a = b = 10; } public static void main(String... args) { Test t = new Test(); System.out.println(t.toString()); // a=0, b=0 t.doSomething(); System.out.println(t.toString()); // a=10, b=10 } }
-
06.06.2012, 19:27 #9
AW: Methoden Parameterrückgabe
Hab die Variablen dann doch als globale Variablen verwendet, also wurde mir erklärt.
Danke trotzdem.
Ich schließe hier dann mal.
Ähnliche Themen
-
[Methoden & Hilfe] Liebe, Selbstbewusstsein & co
Von WurstEsser im Forum ZwischenmenschlichesAntworten: 20Letzter Beitrag: 12.08.2014, 08:00 -
Methoden um Browser-Accounts zu lesen?
Von JumP-StyLe im Forum OffTopicAntworten: 5Letzter Beitrag: 03.06.2012, 19:50
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.