Programozó versenyek

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

2014. november 10. 16:15 – 2014. november 10. 17:55

Végzős hallgatók

  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 Személy 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 Személy 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> (<életkor> éves)”, például: „John (21 éves)” vagy „Sarah (18 éves)”.
  4. Implementálja a Személy osztályban a Comparable<Személy> generikus interfészt oly módon, hogy az aktuális példány életkorát a paraméterként megkapott személy példány életkorával hasonlítsa össze nagyság szerint növekvő rendezettséget feltételezve! Ha a személyek életkora megegyezne, a hasonlítást a nevek alapján folytassa, ábécérendbe állítva a vizsgált objektumokat!
  5. Írja meg a Hallgató 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 a Hallgató 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> (<életkor> éves): [nem ]végzős”, például: „Peter (19 éves): nem végzős” vagy „Jessica (24 éves): végzős”.
  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ő:

    {S|H};név;életkor[;{+|–}]

    Ha a sor első karaktere „S” betű, akkor egy normál (nem hallgató) személy, ha „H”, akkor egy hallgató leírása szerepel a sorban. A név és az életkor a személy neve és életkora. Hallgatók esetén a sor utolsó karaktere árulja el, hogy a hallgató végzős-e: „+” karakter esetén az, „–” karakter esetén nem.

Példa bemenet

  1. 5
  2. S;John;21
  3. H;Peter;19;-
  4. S;Sarah;18
  5. H;Jessica;24;+
  6. H;Thomas;35;-
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Sarah (18 éves)
  2. Peter (19 éves): nem végzős
  3. John (21 éves)
  4. Jessica (24 éves): végzős
  5. Thomas (35 éves): nem végzős
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.