zinsen rekursiv/iterativ

Status
Nicht offen für weitere Antworten.
K

k.

Gast
hallo,
folgende aufgabenstellung:
am anfang des jahres wird jeweils 1000 euro auf das konto eingezahlt. zinsen am 31.12. sind 5%. diese zinsen werden wieder angelegt. am 31.12.04 beträgt das guthaben also 1.05*1000 = 1050, am 31.12.05 2152,50.

jetzt soll ich eine linear rekursive funktion schreiben, die das guthaben nach n Perioden ermittelt.
folgendermaßen siehts bei mir aus
Code:
public static double Zinsberechnung_rek(double Guthaben, int Perioden)
	{
		if (Perioden <= 0 )
				return Guthaben;
		
		Guthaben += 1000; // Einzahlung am Jahresbeginn
		Guthaben *= 1.05; // Zins am Jahresende
		
		return Zinsberechnung_rek( Guthaben, Perioden - 1);
	}
ich will als parameter aber nur die perioden....
 

der JoJo

Bekanntes Mitglied
mach eine private classenvariable
#edit sry, falsch verstanden:

mach eine ansprungmethode in der art:
fangAn(perioden)
{
return machWasDuWillst(1000,perioden);
}
 
S

SlaterB

Gast
dann arbeitete nur mit dem Rückgabewert, rufe erst n-mal die Operation auf,
gib bei <= 0 einen Startwert zurück und erhöhe den bei jedem return
 

jPat

Bekanntes Mitglied
So sollte es auch gehen ....

Code:
Class Recursiv {
// Irgendwo ne main

Static double guthaben = 1000d; // Startguthaben

public static double Zinsberechnung_rek(int Perioden)
   {
      if (Perioden <= 0 ) // (oder = 0 ? )
            return Guthaben;
      
      Guthaben += 1000; // Einzahlung am Jahresbeginn
      Guthaben *= 1.05; // Zins am Jahresende
      
      return Guthaben + Zinsberechnung_rek( Perioden - 1);
   } 
}

(Glaub ich ...) :D
 
G

Guest

Gast
danke, ich machs mit der ansprungmethode;

das beispiel funktioniert so nicht, da 1.) guthaben nicht definiert ist und 2.) dann nur das Guthaben einer Einzahlung+Zinsen dazu dazugezählt werden würde ;)
 
G

Guest

Gast
ok, guthaben ist definiert (hab ich übersehn; is aber auch klein geschrieben, also Guthaben ist dann nicht definiert ;))
klappt aber trotzdem nicht so :p
 

jPat

Bekanntes Mitglied
Kleinlich sei ... :D

Code:
static double Guthaben = 0; // Startguthaben

		public static double Zinsberechnung_rek(int Perioden)
		   {
		         if (Perioden == 1 ) 
		            return Guthaben;
		     
		      Guthaben += 1000; // Einzahlung am Jahresbeginn
		      Guthaben *= 1.05; // Zins am Jahresende
		     
		      return Guthaben + Zinsberechnung_rek( Perioden - 1);
		   }
 
S

SlaterB

Gast
lästerst du nur oder hast du Fragen zu dem Beispiel?
(außer 'bitte korrekt posten', obwohl darauf vielleicht auch jemand antwortet ;) )

viel eleganter wäre, das ganze ohne Exemplarvariable zu lösen

@jPat: wieso postest du nun schon mehrere Versionen, ohne sie einmal zu testen?
 

jPat

Bekanntes Mitglied
Code:
static double Guthaben = 0; // Startguthaben

		public static double Zinsberechnung_rek(int Perioden)
		   {
		      if (Perioden == 0 ) 
		            return Guthaben;
		     
		      Guthaben += 1000; // Einzahlung am Jahresbeginn
		      Guthaben *= 1.05; // Zins am Jahresende
		     
		      return Zinsberechnung_rek( Perioden - 1);
		   }
:cool:
 
S

SlaterB

Gast
grummel, scheint zu stimmen ;)

aber wehe man ruft die Operation zweimal auf :bae:, oder gar mit Periode -1
 

mikachu

Top Contributor
führ das mal mit einigen vielen perioden aus ;)
BOOOM macht der speicher :D

#edit 1:
einfache mathematische formel:
Code:
public static double Zinsberechnung(int Perioden) // geht einfacher und ist ressourcenschonender
{
    return Math.pow( 1.05, perioden ) * 1000;
}

#edit 2:
passt zwar nicht hier rein, weil iterativ oder rekursiv, aber naja, wollt mal meinen senf dazu geben :lol:
 

jPat

Bekanntes Mitglied
:applaus:
Ach, dann fragt es doch einfach in einer if - Anweisung ab ...
Es ging nur um die Funktionalität, ich erhebe keinen Anspruch auf das Copyright :D , daher könnt ihr mit der Funktion machen, was ihr wollt :lol: .

Ist eh Käse das in einer statischen Art und Weise zu implementieren, aber du hast ja so angefangen, und ich wollte nicht, das du jar nischt mehr verstehst. :wink:
 

jPat

Bekanntes Mitglied
mika.fhdw hat gesagt.:
führ das mal mit einigen vielen perioden aus ;)
BOOOM macht der speicher :D

#edit 1:
einfache mathematische formel:
Code:
public static double Zinsberechnung(int Perioden) // geht einfacher und ist ressourcenschonender
{
    return Math.pow( 1.05, perioden ) * 1000;
}

#edit 2:
passt zwar nicht hier rein, weil iterativ oder rekursiv, aber naja, wollt mal meinen senf dazu geben :lol:

Siehe aufgabenstellung :gaen:

Mit welchen werten rechnest du denn?? 100, 1000 , 10000, Viel spaß beim Sparen !! :lol:

in 10.000 Jahren haben deine for(int i = 0; i<10000;i++) System.out.print("Ur"); Enkel einen schönen betrag auf der Bank .... :D
 

jPat

Bekanntes Mitglied
i+= :?:

Wie lange leben die Leute dann?

Wann / Wie bekommen sie ihre kinder?

Also, wenn geklont wird , kann man schon jedes Jahr eine neue Generation erzeugen .... :wink:

Bitte um Vorschläge :bae:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie könnte man den Codeschnipsel rekursiv darstellen? Allgemeine Java-Themen 1
M Endrekursiv vs Rekursiv Allgemeine Java-Themen 4
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
H Heron Verfahren Tail-rekursiv lösen Allgemeine Java-Themen 7
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
I Diskussion zu: Tribonacci Folge Rekursiv Allgemeine Java-Themen 15
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
D 2,3-Baum rekursiv erstellen Allgemeine Java-Themen 20
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
B Primfaktorzerlegung Rekursiv Allgemeine Java-Themen 2
B Primzahltest rekursiv Allgemeine Java-Themen 15
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
L Alle möglichen Additionen (Rekursiv) Allgemeine Java-Themen 3
N Rekursiv Höhe Baum Allgemeine Java-Themen 3
H Vektor rekursiv erzeugen Allgemeine Java-Themen 2
J Breitensuche in Graph rekursiv Allgemeine Java-Themen 2
E ordner rekursiv durchsuchen Allgemeine Java-Themen 6
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
R synchronized methode rekursiv aufrufen Allgemeine Java-Themen 5
S MergeSort iterativ und rekursiv? Allgemeine Java-Themen 8
G Array rekursiv durchlaufen Allgemeine Java-Themen 2
S JAVA JTree rekursiv umschreiben Allgemeine Java-Themen 5
leifg Rekursiv mit Threads Programmieren Allgemeine Java-Themen 2
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
K Verzeichnis rekursiv aus JAR-Datei extrahieren Allgemeine Java-Themen 6
F Filelisting iterativ, nicht rekursiv Allgemeine Java-Themen 7
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
M Rekursiv Verzeichnisse ansehen und auf Muster matchen Allgemeine Java-Themen 6
V 1000 Threads oder Iterativ? Allgemeine Java-Themen 11

Ähnliche Java Themen


Oben