Variablen deklarieren

  • Themenstarter Themenstarter NiKO_newby
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
N

NiKO_newby

Gast
Hallo,
bin gerade dabei ein Java-Buch durchzumachen. Da bin ich jetzt auf eine nach meiner Meinung komische Situation gestoßn.

Ich will folgendes Programm erstellen (Funktioniert auch).

Code:
//Datei CZinsenberechnung2.java
public class CZinsenberechnung2
{
	public static double zins_brechnen(double startkapital, double zinssatz, double laufzeit)
	{
	double endkapital;
	
		//Berechnung des Endkapitals
		endkapital = startkapital *
			Math.pow((1 + zinssatz/100),laufzeit);
	
	return endkapital;
	}
	public static void main(String[]args)
	{
	double endkapital;
	
	endkapital = zins_brechnen(1500,3.5,7);
	System.out.println("Der Endbetrag nach 7 Jahren beträgt: " + (int) endkapital + "€.");
	}
}

Meine Frage ist jetzt, wieso ich in der Zeile (
Code:
public static double zins_brechnen(double startkapital, double zinssatz, double laufzeit)
) die ganzen Variablen deklariere und später dann noch "
Code:
double endkapital;
" hinzufüge. Macht für mich keinen Sinn - könnte ich "double endkapital" nicht direkt in die Zeile schreiben wo auch "startkapital, zinssatz, laufzeit" deklariert wird?!

Danke für euere Hilfe 🙂

MfG Niko
 
Das erste sind Parameter. Die werden beim Aufruf der Methode übergeben (sog. Argumente).
Das zweite ist eine lokale Variable, die nur innerhalb der Methode gültig ist und auch nicht von Außen übergeben wird.
 
alle Variablen die 'dort in der Zeile stehen' sind Parameter der Operation, wichtige Informationen, die der Aufrufer angeben muss,
z.B. startkapital=1500,
das weiß die Operation ja nicht,

endkapital ist was anderes, das rechnet die Operation selber aus, das muss kein Parameter sein, der Aufrufer wüßte gar nicht was er dafür angeben soll
 
Aber es wäre möglich das Endkapital direkt zu den Parametern zu schreiben?
Seh ich das richtig..?!
 
technisch wäre es möglich, auf jeden Fall,
aber Sinn machts keinen, konzeptionell wäe es eine Katastrophe 😉

du könntest auch einfach nur
return startkapital * Math.pow((1 + zinssatz/100),laufzeit);

dann hast du noch weniger Zeilen und brauchst nichtmal endkapital
 
Danke für eure schnellen und kompetenten Antworten.
Ihr habt mir SUUUPPER weitergeholfen 🙂

MfG Niko
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben