Verständnis Problem mit return --> Klausuraufgabe

Status
Nicht offen für weitere Antworten.

jenna

Neues Mitglied
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.
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));
}
}
Ausgabe (10 Zeilen!):


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:

Paddelpirat

Bekanntes Mitglied
Hi,
du rufst in deiner
Code:
main
-Methode die rekursive Funktion
Code:
wert
auf. Diese ruft sich jedesmal selbst wieder auf, solange eine der
Code:
if
-Abfragen erfüllt ist. Also in deinem Fall, bei den übergebenen Werte-Paaren (2,54), (2,27), (3,27), (3,9).
Anschließend bist du in dem Fall, dass die Funktion
Code:
wert
mit den Parametern (3,3) aufgerufen wird. Diese Parameterwerte erfüllen keine der
Code:
if
-Bedingungen, so dass du in dem
Code:
else
-Block in Zeile 15 landest.
Dort hat die Variable
Code:
ich
aus den letzten Aufrufen der rekursiven Methode den Wert 8 und dieser wird um
Code:
er
(= 3) erhöht, also ist
Code:
ich
= 11. Die Variable
Code:
ich
wird anschließend einmal ausgegeben und als letztes als Rückgabewert der Funktion
Code:
wert
zurückgegeben.
Dann landest du wieder in der
Code:
main
-Methode. Die Zeile 23 hat ja anfangs die Funktion
Code:
wert
Aufgerufen, wurde allerdings noch nicht vollständig ausgeführt, da sie noch keinen Rückgabewert hatte. Diesen hat sie aber nun erhalten, so dass die 11 als Ergebnis ausgegeben wird.

Was für eine Beschreibung *g*. Ich hoffe du blickst hier durch ;-)
 
Zuletzt bearbeitet:

Paddelpirat

Bekanntes Mitglied
Kein Wunder bei einer derart verqueren Aufgabenstellung. :noe:

Allein
Java:
if ((er < du) && (du % er == 0)) {

finde ich äußerst knallchargig. ???:L :D

Und in der
Code:
main
-Methode sind
Code:
er
und
Code:
du
auch noch
Code:
es
und
Code:
sie
und dann noch zwei
Code:
ich
s. Aber die if-Abfragen waren ja anscheinend nicht das Problem, von daher hab ichs mir erspart darauf einzugehen :bae:. Ob das Thema jetzt erledigt ist?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
M If Verständnis Problem Java Basics - Anfänger-Themen 2
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
vodkaz For Schleife Verständnis Problem Java Basics - Anfänger-Themen 4
G regex Verständnis Problem Java Basics - Anfänger-Themen 3
R RandomAccessFile verständnis Problem Java Basics - Anfänger-Themen 10
M Erste Schritte Verständnis Problem Konstruktoren Java Basics - Anfänger-Themen 13
J Compiler-Fehler Verständnis Problem bei Compiler-Warning Java Basics - Anfänger-Themen 7
S Timer / Schleifen Verständnis Problem Java Basics - Anfänger-Themen 3
U ADT verständnis Problem Java Basics - Anfänger-Themen 18
S Java Verständnis Problem Methoden etc. Java Basics - Anfänger-Themen 22
P Codeschnipsel Verständnis Problem (Array) Java Basics - Anfänger-Themen 6
F (Verständnis)Problem: Zahl auf 2 Nachkommastellen runden Java Basics - Anfänger-Themen 5
B Exception verständnis Problem Java Basics - Anfänger-Themen 2
M Verständnis-Problem Java Basics - Anfänger-Themen 4
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
KogoroMori21 Polymorphie-Verständnis Java Basics - Anfänger-Themen 5
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
T Methoden Verständnis Java Basics - Anfänger-Themen 14
M Java Code Verständnis Java Basics - Anfänger-Themen 4
M Java Code Verständnis Java Basics - Anfänger-Themen 2
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
K nur für das verständnis Java Basics - Anfänger-Themen 3
B Verständnis Frage zu der Aufgabe Java Basics - Anfänger-Themen 30
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
J Code Verständnis Java Basics - Anfänger-Themen 9
Y MVC MouseEvent Verständnis Java Basics - Anfänger-Themen 24
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
D Hilfe bei Verständnis von Aufgabe Java Basics - Anfänger-Themen 1
I Verständnis Frage wegen einer Aufgabe Java Basics - Anfänger-Themen 10
P verständnis Frage Refernzen und Objekte Java Basics - Anfänger-Themen 1
S Verständnis - Frage mehrere SQL Statements in While Schleife Java Basics - Anfänger-Themen 0
J java syntax verständnis Java Basics - Anfänger-Themen 6
M Verständnis von Deadlocks Java Basics - Anfänger-Themen 2
C Klassen/Objekte Verständnis Java Basics - Anfänger-Themen 8
O Singleton Verständnis Java Basics - Anfänger-Themen 4
C Allgemeines Verständnis For-Schleife Java Basics - Anfänger-Themen 3
R Input/Output MVC - Frage zum Verständnis Java Basics - Anfänger-Themen 5
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
J Musterlösung Verständnis Frage zu Math.abs() Java Basics - Anfänger-Themen 5
X Kompilat verständnis Frage Java Basics - Anfänger-Themen 9
C Input/Output Anfänger Array-Verständnis Frage Java Basics - Anfänger-Themen 7
H Überladen Verständnis Java Basics - Anfänger-Themen 3
E Verständnis zu einem Rekursionsbeispiel Java Basics - Anfänger-Themen 12
F Verständnis Frage - && Java Basics - Anfänger-Themen 2
O Frage zu Verständnis von Collection Java Basics - Anfänger-Themen 4
JavaKaffee Minimax-Algorithmus Verständnis Java Basics - Anfänger-Themen 12
C Methoden Frage zu Verständnis eines Beispiels Java Basics - Anfänger-Themen 3
M Polymorphie Cast:Verständnis und Ausführung Java Basics - Anfänger-Themen 10
M Verständnis Frage Java Basics - Anfänger-Themen 11
M Verständnis-Probleme mit eigenen Klassen Java Basics - Anfänger-Themen 2
T Verständnis von "final" und "static" Java Basics - Anfänger-Themen 6
F ArrayList() Verständnis Java Basics - Anfänger-Themen 14
M Verständnis von PrintWriter Java Basics - Anfänger-Themen 12
M Verständnis einiger Zeilen Java Basics - Anfänger-Themen 4
F Groovy Verständnis ConfigSlurper Java Basics - Anfänger-Themen 7
H Verständnis Strategy Pattern Java Basics - Anfänger-Themen 4
A Dringende Bitte um Erklärungen zum besseren Verständnis Java Basics - Anfänger-Themen 4
deimosmuc Hilfe zum Verständnis bei Vererbung Java Basics - Anfänger-Themen 11
T Verständnis-Frage Java Basics - Anfänger-Themen 2
E Verständnis frage zum return wert eines Arrays Java Basics - Anfänger-Themen 7
S Frage zu Verständnis und Logik Java Basics - Anfänger-Themen 5
P Verständnis bzgl. MVC Java Basics - Anfänger-Themen 11
M Klassen und Objekte => richtiges Verständnis? Java Basics - Anfänger-Themen 6
V KSKB zum Verständnis von Graphics und paintComponent Java Basics - Anfänger-Themen 6
A Array Verständnis Frage Java Basics - Anfänger-Themen 4
L Hashtable Verständnis Frage Java Basics - Anfänger-Themen 4
H Verständnis: Methode Java Basics - Anfänger-Themen 2
Z Verständnis Java Basics - Anfänger-Themen 4
R Verständnis Java Basics - Anfänger-Themen 4
R Verständnis bei Listen Java Basics - Anfänger-Themen 2
R Verständnis Klassen Java Basics - Anfänger-Themen 9
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben