Programozó versenyek

Magas szintű programozási nyelvek 2, 2014. november 10., H18 ZH

2014. november 10. 18:10 – 2014. november 10. 19:50

Szervezzetek szervezetet!

  1. Hozzon létre egy forrásállományt Teszt.java néven, és definiálja benne az alábbi UML ábrán látható három osztályt! A három osztályból a Teszt osztály legyen publikus, a másik kettő pedig csomag-láthatóságú!

  2. Írja meg a Szervezet osztály konstruktorát úgy, hogy az a paramétereként megkapott két értéket az osztály két mezőjéhez rendelje hozzá!
  3. Írja meg a Szervezet osztály toString() metódusát úgy, hogy az a következő formában adja vissza az objektumok sztring reprezentációját: „<név> (alapítva: <alapításÉve>)”, például: „Debreceni Egyetem (alapítva: 1912)” vagy „Debreceni Református Kollégium (alapítva: 1538)”.
  4. Implementálja a Szervezet osztályban a Comparable<Szervezet> generikus interfészt oly módon, hogy az aktuális példány alapítási évét a paraméterként megkapott szervezet példány alapítási évével hasonlítsa össze nagyság szerint növekvő rendezettséget feltételezve! Ha a szervezetek alapítási éve megegyezne, a hasonlítást a nevek alapján folytassa, ábécérendbe állítva a vizsgált objektumokat!
  5. Írja meg az Egyesület osztály konstruktorát úgy, hogy az a paraméterként megkapott értékeket az osztály saját és örökölt mezőihez rendelje hozzá!
  6. Írja meg az Egyesület osztály toString() metódusát úgy, hogy az a következő formában adja vissza az objektumok sztring reprezentációját: „<név> (alapítva: <alapításÉve>): [nem ]közhasznú”, például: „BAGázs (alapítva: 2011): közhasznú” vagy „NANE (alapítva: 1994): nem közhasznú”.
  7. Írja meg a Teszt osztály main() metódusát úgy, hogy az képes legyen a standard bemenetről a példa bemenetben megadott formában adatokat beolvasni, azokat rendezni, majd a rendezett adatokat megjeleníteni a standard kimeneten! A bemenet első sora a feldolgozandó elemek darabszámát tartalmazza. A további sorok alakja a következő:

    {Sz|E};név;alapítás_éve[;{+|–}]

    Ha a sor első karaktere az „Sz” sztring, akkor egy normál szervezet, ha „E”, akkor egy egyesület leírása szerepel a sorban. A név és az alapítás_éve az egyesület neve és alapítási éve. Egyesületek esetén a sor utolsó karaktere árulja el, hogy az egyesület közhasznú-e: „+” karakter esetén az, „–” karakter esetén nem.

Példa bemenet

  1. 5
  2. Sz;Debreceni Egyetem;1912
  3. E;BAGázs;2011;+
  4. Sz;Debreceni Református Kollégium;1538
  5. E;NANE;1994;-
  6. E;Gyerekesély;2010;+
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Debreceni Református Kollégium (alapítva: 1538)
  2. Debreceni Egyetem (alapítva: 1912)
  3. NANE (alapítva: 1994): nem közhasznú
  4. Gyerekesély (alapítva: 2010): közhasznú
  5. BAGázs (alapítva: 2011): közhasznú
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.