public class Kaffeemaschine
public double wasser { get; private set; }
public double bohnen { get; private set; }
public double gesamtMengeKaffeProduziert { get; private set; }
private static double maxWasser = 2.5;
private static double maxBohnen = 2.5;
gesamtMengeKaffeProduziert = 0;
public double wasserAuffuellen(double menge)
if (wasser + menge <= maxWasser)
double tatsaechlMenge = maxWasser - wasser;
public double bohnenAuffuellen(double menge)
if (bohnen + menge <= maxBohnen)
double tatsaechlMenge = maxBohnen - bohnen;
public bool macheKaffee(double menge, double verhaeltnisWasserBohnen)
if (menge <= 0 || verhaeltnisWasserBohnen <= 0)
double bohnenAnteil = menge / (verhaeltnisWasserBohnen + 1);
double wasserAnteil = menge - bohnenAnteil;
if (bohnenAnteil > bohnen || wasserAnteil > wasser)
bohnen = bohnen - bohnenAnteil;
gesamtMengeKaffeProduziert += menge;
public static void Main() {
var kaffee = new Kaffeemaschine();
var wasser = kaffee.wasserAuffuellen(2.5);
var bohnen = kaffee.bohnenAuffuellen(2.5);
Console.WriteLine("Wasser: " + wasser);
Console.WriteLine("Bohnen: " + bohnen);
var erfolg = kaffee.macheKaffee(10, 1);
Console.WriteLine("Erfolg? " + erfolg);
Console.WriteLine("Wasser: " + kaffee.wasser);
Console.WriteLine("Bohnen: " + kaffee.bohnen);
Console.WriteLine("Kaffee: " + kaffee.gesamtMengeKaffeProduziert);