documenta
DESCRIPTION
ATRANSCRIPT
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________A gyakorlati feladat megoldásait, kérem küldje a [email protected] email címre. A feladatot tömörítse be és neptunkód_nev_csoport_dátum.kiterjesztes formában, mellékletként küldje el, az elküldött levél tárgyában ugyanez szerepeljen. A kitöltendő feladatokat olvashatóan töltse ki. Nem kötelező a megadott sorrendben megoldani a feladatokat, először olvassa át, majd azt oldja meg azt a feladatot, amit a legjobban és leggyorsabban tud megoldani, majd azokat vegye sorba amelyek lassabban illetve nehezebben mennek!
1. Egészítse ki az osztály definíciót és a kérdéses elemet határozza meg. A dőlt betűs rész meghatározásra vár (mit jelent, mi fogalom lényege, mikor használjuk a Java nyelvben, illetve az OOP elvek szerint) A vastagon szedett részek helyére egy-egy Java kulcsszót kell írni.
public a Osztaly b OsOsztaly c Einterfesz, Minterfesz{ Osztaly(){
// kódrészlet}
}
public …………………………………………………………………………………………………………………………………
a …………………………………………………………………………………………………………………………………
b …………………………………………………………………………………………………………………………………
c …………………………………………………………………………………………………………………………………
Osztaly() …………………………………………………………………………………………………………………………………
Elérhető pontszám 25p Ebből elért ……………p
A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található.
2. Keresse meg a hibát a kódban, válassza ki a megfelelő hibát és indokolja. (Több válasz is lehetséges)
package elso;import javax.swing.*;class Ember {}class A{}public class B extends A{
public int void metodus(){ArrayList<Ember> e = new ArrayList();
}}
a. ArrayList<Ember> e = new ArrayList();………………………………………………………………………………………………………………………………
b. import javax.swing.*;………………………………………………………………………………………………………………………………
c. class A{}………………………………………………………………………………………………………………………………
d. public int void metodus()………………………………………………………………………………………………………………………………
1
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________Elérhető pontszám 10p Ebből elért ……………p
A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található.
3. Mi az eredménye az alábbi kódnak? Egy válasz lehetséges!
public class Nyuszik {static int darab = 0;Nyuszik() {
while(darab < 10) new Nyuszik(++darab);}Nyuszik(int x) { super(); }public static void main(String[] args) {
new Nyuszik(); new Nyuszik(darab); System.out.println(darab++);}
}
a. 9b. 10c. 11d. Futás időben keletkező hiba
Elérhető pontszám 5p Ebből elért ……………pA pontozásnál figyelembe kell venni a válasz helyességét. Indoklásnak helye nincs!
4. Indokolja meg a 6 hibát az alábbi kódban. Kérem vegye figyelembe, hogy a sortörés és az ékezetes file és változó, metódus, osztály név nem számít hibának!
2
/**Újság.java */package prog2.news;
public class Újság {
public static final int NAPILAP = 0, HETILAP = 1, HAVILAP = 2;String cím;int periódus, darabSzám = 10;
private Újság(String cím) {this(cím, HAVILAP);
}public Újság(String cím, int periódus) {
this.cím = cím;this.periódus = periódus;
}
/**Újság.java folytatása
public static void elad() {if (darabSzám = 0) {
System.out.println("Sajnos az újság elfogyott.");} else {
darabSzám--; System.out.println("Kellemes olvasást!");}
}}
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________
3
/**Műsoros.java*/package prog2.news;public class Műsoros extends Újság {int tvCsatornákSzáma = 15;public Műsoros(String cím) {
super(cím);periódus = Újság.HETILAP;
}}
/**Test.java*/package prog2.test;
import prog2.news;
class Test {public static void Main(String[] args) {
Újság lap = new Műsoros("TVRHét");Műsoros m = new Újság("Blikk",
prog2.Újság.NAPILAP);lap.elad();m.elad();}
}
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________
4
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________
a. ………………………………………………………………………………………………………………………………
b. ………………………………………………………………………………………………………………………………
c. ………………………………………………………………………………………………………………………………
d. ………………………………………………………………………………………………………………………………
e. ………………………………………………………………………………………………………………………………
f. ………………………………………………………………………………………………………………………………
Elérhető pontszám 30p Ebből elért ……………p
A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található
Elérhető összpontszám 70p Ebből elért ……………p Teljesítménye …………..%
5
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________
Részletese értékelő:
1. Feladat
public …………………………………………………………………………………………………………………………………
a …………………………………………………………………………………………………………………………………
b …………………………………………………………………………………………………………………………………
c …………………………………………………………………………………………………………………………………
Osztaly() …………………………………………………………………………………………………………………………………
2. Feladata. ArrayList<Ember> e = new ArrayList();
………………………………………………………………………………………………………………………………b. import javax.swing.*;
………………………………………………………………………………………………………………………………
c. class A{
………………………………………………………………………………………………………………………………
d. public int void metodus()
……………………………………………………………………………………………………………………………………3. Feladat
a. 9b. 10c. 11d. Futás időben keletkező hiba
4.a. ………………………………………………………………………………………………………………………………
b. ………………………………………………………………………………………………………………………………
c. ………………………………………………………………………………………………………………………………
d. ………………………………………………………………………………………………………………………………
e. ………………………………………………………………………………………………………………………………
f. ………………………………………………………………………………………………………………………………
6
Gábor Dénes Főiskola Programozás Technológia II.
Név:____________________ Neptun kód:_______________ Dátum:___________5. Számítógépen megoldandó feladat, kérem olvassa el figyelmesen. A IFizetéstKap interface-t és a többi osztályt, amelyet megemlít a feladat, akkor és csak akkor fogadom el, ha ennek a feladatban szereplő nevét használják (ékezeteket el lehet hagyni), helyette ne írjunk IFizetés, IVakamiinterface-t.Ellenőrzések nem szükségesek, 0 val való osztás stb. A feladatot a következő formában küldjék:neptunkód_nev_csoport_dátum.zip vagy neptunkód_nev_csoport_dátum.rar , a tárgyban ugyanez a tartalom legyen, természetesen a tárgyban nem szükséges a „.zip” vagy a „.rar” megjelölés.
Készítsen egy Személy nevű osztályt az alábbiak szerint:• Kívülről el nem érhető mezőkben tárolja a személy neptunkódját és nevét• Getter/setter metódusokat készítsen a neptunkód, és a név példányszintű változókhoz.
Készítse el a Hallgató osztályt a Személy osztály leszármazottjaként:• A hallgató jegyeinek tárolására vegyen fel egy ArrayList osztályt • Rendelkezzen konstruktorral, ami egy név és neptun kód alapján példányosít • Rendelkezzen egy Jegybeírás metódussal, aminek paramétere a beírandó jegy, amelyet az
ArrayList be beír.Legyen a Jegybeírás metódusnak olyan változata is, amely több jegyet ír egyszerre.
• Az osztály Átlag metódusának visszatérési értéke legyen a jegyek átlaga Készítse el az Oktató osztályt a Személy leszármazottjaként:
• Egészítse ki egy mezővel, (tanításideje) ami tárolja, hogy az oktató mióta tanít (években = > egész szám)
• Rendelkezzen neptunkód, név, tanításideje paramétereket váró konstruktorral • Az osztály rendelkezzen egy statikus változóval, ami tárolja, hogy mennyivel növekszik egy
tanár fizetése évenként Statikus getter/setter metódusokkal legyen lehetőség ehhez hozzáférniEgészítse ki az osztálykönyvtárt az alábbiakkal:
• Készítsen egy IFizetéstKap interfészt, ami definiál egy Fizetése nevű, paraméter nélküli, egész számot visszaadó műveletet
• Valósítsa meg a Hallgató osztály ezt az interfészt:A Fizetése metódus visszatérési értéke legyen (átlag * 5000)
• Valósítsa meg az Oktató osztály ezt az interfészt:A Fizetés metódus visszatérési értéke itt (évek száma * 6000) Készítsen egy olyan osztályt az elkészült osztályok kipróbálására, amellyel lehetőség van az alábbiakra ( nem kell konzolról beolvasni az adatokat elég, ha simán ebben az osztályban a metóduson keresztül megadja):
• Felhasználó által megadott adatok alapján Hallgató és Oktató objektumok létrehozása, és ezek tárolása egy közös adatszerkezetben (ArrayList/HashMap)
• Neptun kód megadása után, ha az ahhoz tartozó személy hallgató, legyen lehetőség új jegy beírására (ha nem hallgató, akkor a program ezt jelezze)
Készítsen egy Grafikus felületet, ahol megadhatja az Oktató neptun kódját, nevét. Egy gombot, aminek hatására a beírt adatokat egy ArrayList-ben eltárolja. Az ArrayList tartalmát minden adat hozzáadás után a KONZOLRA írja ki.
Elérhető összpontszám 100p Ebből elért ……………p Teljesítménye …………..%
7