Java Csoport Zh – 2013. november 7.

Segédanyagok

Tesztprogram és osztály vázak

A feladat átfogó leírása

A feladat egy olyan alkalmazás készítése, amellyel szimulálni tudjuk termékek elszállítását gyárakból. A gyárakban a téglatest alakú dobozokba csomagolt termékek egyetlen futószalagra kerülnek, ahonnan a szállítók fuvarozzák el őket. A gyártás során a legyártott dobozok a futószalag végére kerülnek, a szállítók pedig a futószalag elejétől pakolnak. Minden doboznak egyforma a magassága (ennek nem lesz jelentősége a feladatban) és a szélessége; valamint a legtöbb doboz kocka alakú, azaz a mélysége is megegyezik az előző két mérettel. Van azonban pár különleges termék, ami a szabványostól különböző csomagolást igényel, így a dobozok 3. mérete (a mélység) ezeknél a speciális dobozoknál eltérhet. A szállítók kamionjai változó hosszúságúak lehetnek, abban viszont megegyeznek, hogy a rakodótér szélessége megegyezik egy doboz szélességével, így egyetlen sor dobozt tudunk bepakolni egy kamionba. Dobozok egymás tetejére nem kerülhetnek. A dobozok elszállításának pontos módjáról majd az adott feladatnál lesz részletesebb tájékoztatás.

Az osztályok kerüljenek egy szallitas nevű csomagba.

2-esért

Gyar osztály

Doboz osztály

SpecialisDoboz osztály – a Doboz osztályból származik

Megjegyzés: innentől kezdve a doboz mérete alatt mindig azt az értéket értjük, amelyet a getMelyseg metódus ad vissza, hiszen ez az egyetlen méret, ami különbözhet a dobozok esetében.

3-asért

Gyar osztály

SpecialisDoboz osztály

4-esért

Szallito osztály

5-ösért

Gyar osztály

Szallito osztály

Tipp

A for-each ciklussal történő listabejárás során a listát nem lehet változtatni, ezért a fenti feladat megoldásánál célszerű lehet az eltávolítandó elemeket egy külön ideiglenes listába kigyűjteni, majd ezt a listát bejárni, és a kívánt elemeket eltávolítani az eredeti listából.