das einzige, was ich sehen kann, ist, das die Schleife im Recipe Konstruktor immer einmal öfter läuft als inputNmb. Du müsstest
for (int i = 0; i < inputNmb; i++)
schreiben.
Warum das angeblich immer genau 3 mal durchlaufen soll, k.a.
Bau dir einfach ein paar System.outs ein um zu gucken welche Varaiable wann welchen Wert hat, vllt. arbeitet die IO Klasse nicht richtig oder so...
Ein Tipp: Mach immer spitze Klammern für die Anweisungen nach if, for, while usw.. auch wenn nur eine Anweisung danach kommt
Edit: Meinte natürlich geschweifte Klammern, danke ebenius