|
Wo kommen die Werte her?
– lbm1305 30.08.2013
|
// Pseudocode
double Berechne(Zeitraum zeitraum, double zinssatz)
{
// Zeitraum => Zeitraum.Start, Zeitraum.Ende
var differenz = BerechneDifferenz(zeitraum);
var zinsenFuerZeitraum = BerechneZinsenFuerZeitraum(differenz, zinssatz);
return zinsenFuerZeitraum;
}
|
|
|
//Pseudocode
public interface IZeitraum
{
double? Berechne(DateTime datum);
}
public class Zeitraum1 : IZeitraum
{
public double? Berechne(DateTime datum)
{
// wenn datum in Zeitraum, dann berechne den Zinssatz.
// sonst rückgabe bspw. null
return null;
}
}
public class Zeitraum2 : IZeitraum
{
public double? Berechne(DateTime datum)
{
// wenn datum in Zeitraum, dann berechne den Zinssatz.
// sonst rückgabe bspw. null
return null;
}
}
var zeitraeume = new IZeitraum[] { new Zeitraum1(), new Zeitraum2(), };
// Prüfe in jeder Klasse im Array, ob das Eingabe-Datum im Zeitraum liegt.
// Wenn ja, dann gib statt NULL die Klasse zurück.
IZeitraum instance = Array.Find(
zeitraeume,
zeitraum => zeitraum.Berechne(new DateTime(2013, 1, 15)) != null);
if (instance != null)
{
// Berechne und Verarbeite das Ergebnis.
}
// Pseudocode
public class ZeitraumFabrik
{
public IZeitraum Erstelle(DateTime start, DateTime ende, double zinsSatz)
{
return new Zeitraum(start, ende, zinsSatz);
}
}
public interface IZeitraum
{
double? Berechne(DateTime dateTime, double betrag);
}
public class Zeitraum : IZeitraum
{
private readonly DateTime _start;
private readonly DateTime _ende;
private readonly double _zinssatz;
public Zeitraum(DateTime start, DateTime ende, double zinssatz)
{
_start = start;
_ende = ende;
_zinssatz = zinssatz;
}
public double? Berechne(DateTime dateTime, double betrag)
{
// wenn datum in Zeitraum, dann berechne den Zinssatz.
// sonst rückgabe bspw. null
return null;
}
}
// Anwendung:
var fabrik = new ZeitraumFabrik();
var zeitRaeume = new List<IZeitraum>();
foreach (var line in datenFuerBerechnung)
{
var regel = fabrik.Erstelle(line.Start, line.Ende, line.ZinsSatz);
zeitRaeume.Add(regel);
}
|
String beginnDate = "05.06.2013";
Date beginn = sdf.parse(beginnDate);
Date now = new Date();
Date aktuell = new Date(now.getTime());
if (beginn.getTime() >= HJ_2010_1A.getTime() // 1.HJ2010
&& beginn.getTime() <= HJ_2010_1E.getTime()) {
t = calculateDays(beginn,HJ_2010_1E);
t1 = calculateDays(HJ_2010_2A, HJ_2010_2E);
t2 = calculateDays(HJ_2011_1A, HJ_2011_1E);
t3 = calculateDays(HJ_2011_2A, HJ_2011_2E);
t4 = calculateDays(HJ_2012_1A, HJ_2012_1E);
t5 = calculateDays(HJ_2012_2A, HJ_2012_2E);
t6 = calculateDays(HJ_2013_1A, HJ_2013_1E);
t7 = calculateDays(HJ_2013_2A, aktuell);
}
|