import javax.swing.*;
// import GregorianCalender.*;

public class Darlehen
{
	int KontoNr;
	double NominalKapital;
	double Zinssatz;
	double Tilgungssatz;
//	GregorianCalender Auszahlungsdatum;

	public Darlehen (int KontoNummer, double Kapital, double Zinsen, double Tilgung)
	{
		KontoNr = KontoNummer;
		NominalKapital = Kapital;
		Zinssatz = Zinsen;
		Tilgungssatz = Tilgung;
	}

	public void setKontoNr (int KontoNummer)
	{
		KontoNr = KontoNummer;
	}

	public int getKontoNr ()
	{
		return KontoNr;
	}

	public void setNominalKapital (double Kapital)
	{
		NominalKapital = Kapital;
	}

	public double getNominalKapital ()
	{
		return NominalKapital;
	}

	public void setZinssatz (double Zinsen)
	{
		Zinssatz = Zinsen;
	}

	public double getZinssatz ()
	{
		return Zinssatz;
	}

	public void setTilgungssatz (double Tilgung)
	{
		Tilgungssatz = Tilgung;
	}

	public double getTilgungssatz ()
	{
		return Tilgungssatz;
	}

	public double berechneAnnuitaet ()
	{
		return ((NominalKapital*(Zinssatz + Tilgungssatz))/100.0);
	}

	public double berechneTilgungsende ()
	{
		double k = (Math.pow((1.0+Zinssatz),(1.0/12.0))-1.0);
		return (-365.0*(Math.log1p(1.0-(k*NominalKapital/berechneAnnuitaet())))/(Math.log(1.0+k)));
	}

         public double getTimeInMillis()
         {
		double AuszahlungsDatum = (berechneTilgungsende() * 86400000.0);
         	return (AuszahlungsDatum);
         }

//	laufzeitEnde.setTimeinMillis (azd.getTimeInMillis()+dauer)
//	return laufzeitEnde;
//	... .getTime();
}