hallo,
ich habe vor 3 wochen mit java begonnen und dachte eigentlich ich hätte schon einen kleinen durchblick. aber bei dieser aufgabe komme ich einfach nicht auf die letzte ausgabe, also vom return.
Geben Sie an, was beim Ablauf des nachfolgenden Programms ausgegeben wird.
Ausgabe (10 Zeilen!):
LÖSUNGEN:
Könnte mir das jemand erklären, warum das 11 ergibt? wäre sehr dankbar.
Grüße
Jenna:toll:
ich habe vor 3 wochen mit java begonnen und dachte eigentlich ich hätte schon einen kleinen durchblick. aber bei dieser aufgabe komme ich einfach nicht auf die letzte ausgabe, also vom return.
Geben Sie an, was beim Ablauf des nachfolgenden Programms ausgegeben wird.
Java:
import Prog1Tools.IOTools;
public class Resultat {
static int ich;
public static int wert (int er, int du) {
System.out.println("wert(" + er + "," + du + ")");
if ((er < du) && (du % er == 0)) {
ich = ich + er;
System.out.println(ich);
return er + wert(er,du/er);
}
else if ((er < du) && (er == 2))
return wert(er+1,du);
else if ((er < du))
return wert(er+2,du);
else {
ich = ich + er;
System.out.println(ich);
return er;
}
}
public static void main (String[] args) {
int sie = 54, es = 2, ich = 0;
System.out.println("ergibt " + wert(es,sie));
}
}
LÖSUNGEN:
wert(2,54)
2
wert(2,27)
wert(3,27)
5
wert(3,9)
8
wert(3,3)
11
ergibt 11
Könnte mir das jemand erklären, warum das 11 ergibt? wäre sehr dankbar.
Grüße
Jenna:toll:
Zuletzt bearbeitet von einem Moderator: