Palacsintasütés Szimuláció
Beadási határidő: |
Hozzavalo
absztrakt osztály
getMennyiseg()
nevű példányszintű metódussal.getSuruseg
: absztrakt metódus,
paramétere nincs, visszatérési értéke double. A leszármazott
osztályokban a sűrűség legyen vele lekérdezhető.getValto
: absztrakt metódus, paramétere
nincs, visszatérési értéke double. A leszármazott osztályokban a
átváltási szorzót lehessen vele lekérdezni.getMertekegyseg
: absztrakt metódus,
paramétere nincs, visszatérési értéke String. A leszármazott
osztályokban az adott osztályra jellemző mértékegységet lehessen
vele lekérdezni.getNev
: absztrakt metódus, paramétere
nincs, visszatérési értéke String. A leszármazott osztályokban a
hozzávaló nevét lehessen vele lekérdezni.getTomeg
: konkrét példányszintű
metódus, a mennyiségből az átváltási szorzó segítségével
számolható (double típusú) tömeget adja vissza.
getTerfogat
: konkrét példányszintű
metódus, a tömegből és a sűrűségből számolható (double típusú)
térfogatot adja vissza.
toString
: a visszaadott Stringben legyen benne a
mennyiség, a mértékegység, és a hozzávaló neve
A Tej
, Tojas
és
Liszt
osztályok a Hozzavalo
absztrakt osztályból származnak, közös tulajdonságaik a következők:
Hozzavalo
) absztrakt metódusait implementáló
(példányszintű) getter metódusok segítségével. osztály |
Tej |
Tojas |
Liszt |
sűrűség (g/cm3) |
1.03 |
1.041 |
0.62 |
mértékegység |
"ml" |
"db" |
"g" |
szorzó |
1.03 |
60 |
1 |
név |
"tej" |
"tojas" |
"liszt" |
osszegez
nevű metódusa, amelynek
paramétere egy hozzávalók listája, visszatérési értéke pedig az
osztály típusának megfelelő (Pl. a Tojas osztályban Tojas legyen a
visszatérési érték típusa). A listában kapott hozzávalókból ki kell
válogatni azokat, amelyek az adott osztály példányai, összegezni a
mennyiségüket, létrehozni egy új objektumot ezzel a mennyiséggel, és
ezt visszaadni.Serpenyo
osztály
getSugar
nevű
metódussal lekérdezni.
PalacsintaTeszta
osztály
getHozzavalok
nevű metódussal.getAlapteszta()
nevű statikus metódussal.addHozzavalo
példányszintű metódus: a
paraméterként megadott hozzávalót hozzáadja a tésztához.getTesztaSuruseg
példányszintű metódus:
a tésztában található hozzávalók összegzett tömegét kell elosztani a
térfogatukkal (javasolt segédfüggvényeket írni a tömeg és a térfogat
összegzésére). Visszatérési értéke double típusú.getLisztArany
, getTejArany
,
getTojasArany
példányszintű metódusok: az
adott hozzávaló fajta tésztában található össztömegének és a tészta
össztömegének hányadosa. Visszatérési értékük double
típusú. osszegez
metódusát,
a visszadott hozzávalónak pedig kérdezd le a tömegét.isJoTeszta
példányszintű metódus: true-val tér
vissza, ha a tésztában mindháromféle összetevő aránya maximum 0.1-el
tér el az alaptésztában található összetevők arányától; egyébként
false.kisut
példányszintű metódus: ha rossz a
tészta, akkor egy UnsupportedOperationException-t dob (legyen benne
magyarázó szöveg is), egyébként pedig kiszámolja, hogy a
paraméterben kapott serpenyővel hány db adott vastagságú palacsinta
süthető ki. Ha sikeres volt a sütés, a hozzávalók listájának
tartalmát törölje. A függvény visszatérési értéke int, paraméterei
(ilyen sorrendben): egy Serpenyo típusú objektum és egy double érték
(ez lesz a vastagság). Csak egész palacsintákat sütünk ki, ha a végén
marad egy kis tészta, amiből már nem jön ki egy palacsinta, azt
kidobjuk.Math.PI
tartalmazza.Main
osztály
A "sutes" csomagon kívülről a programot lehet tesztelni a
megadott tesztprogrammal. Nektek egy teljesen
másik Main
nevű főprogramot kell létrehoznotok,
amely a lentieknek megfelelően működik.
Kezdetben létrehoz egy üres palacsintatésztát, majd a következő menüt kapjuk:
Az 1)-es pontnál kérjen be először egy hozzávaló nevet (a "liszt", "tej", "tojas" valamelyikét fogadhatja el), majd a mennyiséget. Ha valamelyik adat nem stimmel, írjon ki hibaüzenetet, és írja ki újra a menüt.
A 2)-es pontnál kérjen be egy hozzávalót a fentiek szerint, és írja ki a tésztában található arányát, majd írja ki újra a menüt.
A 3)-as pontnál kérjük be a serpenyű sugarának méretét és a kisütendő palacsinták vastagságát, ezután írjuk ki, mennyi palacsintát tudtunk sütni a tésztából, majd kapjuk vissza a menüt. Ha sütés sikertelen volt, kapjuk el a hozzá tartozó kivételt, írjuk ki hibaüzenetet, majd jelenjen meg a menü.
A 4)-essel befejeződik a program futása.
Ha nem 1 és 4 közötti számot gépelünk be, egy hibaüzenet után írja ki újra a menüt.
Melléklet: az alapteszta.txt
formátuma
1. sor: a recept megnevezése (a mi szempontunkból nem lényeges).
A következő 3 sor: