WebProg-2014/Gyakorlat9
(egy szerkesztő 4 közbeeső változata nincs mutatva) | |||
32. sor: | 32. sor: | ||
− | == | + | == Biztonságos függvények (Bónusz feladat) == |
+ | |||
+ | * Írjatok függvényeket, melyek biztonságosan valósítanak meg függvényeket a '''java.lang.Math''' csomagból. | ||
+ | * Biztonságos alatt azt értem, hogy ha pl. gyököt próbálnánk vonni negatív számból, akkor dobjunk kivételt. | ||
+ | * Ez a kivétel általunk írt legyen, aminek legalább egy String adattagja van, amiben írja a hiba okát. | ||
+ | |||
+ | * A következõket mindenképp írjátok meg: | ||
+ | ** osztás (ehhez nem kell a csomag) | ||
+ | ** gyökvonás | ||
+ | ** logaritmus | ||
+ | ** arcsin | ||
+ | |||
+ | * Ezeket teszteljétek le egy '''main'''ben. Ne felejtsétek el a '''try''' blokkot! |
A lap jelenlegi, 2015. április 29., 11:47-kori változata
Tartalomjegyzék |
BattleSudoku
Használhatjátok az elõzõ gyak megoldását kiindulópontnak, de innen is letölthetitek a kellõ file-okat: gyak8_megold.zip.
Package
Hozzatok létre egy új package-et controllers névvel (jobb klikk a project-re -> new -> package). Majd mozgassátok át ide a MouseController osztályt (bal klikk az osztályra, tartsátok lenyomva és húzzátok át a controllers package-be).
Selected Field
A GameBoard osztályt fogjuk kiegészíteni, méghozzá úgy, hogy mostantól csak egy mezõt lehessen kiválasztani és ezt a mezõt tároljuk is egy adattagban.
Hozzatok létre egy Field típusú adattagot selectedField néven, ennek az alapértelmezett értéke legyen null (ami azt jelöli, hogy nem mutat semmire ez a változó, mi pedig ezzel fogjuk jelezni, hogy nincs semmi kiválasztva).
isSomethingSelected
Írjatok egy metódust isSomethingSelected névvel, ami visszaadja, hogy valami ki van-e választva vagy nincs. (Lehet olyat írni, hogy valamiValtozo == null.)
switchSelectedByCoord
Írjatok egy switchSelectedByCoord metódust, ami kap két int-et (x, y) és megváltoztatja a kiválasztott mezõt arra ami ezen a koordinátán található. A következõ három eset lehetséges:
- Nincs kiválasztva semmi
- Az van már kiválasztva amit most is ki akarnánk változtatni (ebben az esetben szüntessük meg a kiválasztását és állítsuk a selectedField adattagot null-ra.)
- Van már kiválasztott, ezt deselectelni kell és az újat select-elni.
Használjátok a getFieldByCoord metódust amit még korábban írtunk.
Game módosítás
Menjünk át kicsit a Game osztályra, ahol a mouseClick metódust módosítsuk úgy, hogy a switchSelectedByCoord-ot hívja meg a selectByCoord helyett.
Futtassuk a játékot és elméletileg mostmár csak egy mezõt tudunk egyszerre kijelölni.
Biztonságos függvények (Bónusz feladat)
- Írjatok függvényeket, melyek biztonságosan valósítanak meg függvényeket a java.lang.Math csomagból.
- Biztonságos alatt azt értem, hogy ha pl. gyököt próbálnánk vonni negatív számból, akkor dobjunk kivételt.
- Ez a kivétel általunk írt legyen, aminek legalább egy String adattagja van, amiben írja a hiba okát.
- A következõket mindenképp írjátok meg:
- osztás (ehhez nem kell a csomag)
- gyökvonás
- logaritmus
- arcsin
- Ezeket teszteljétek le egy mainben. Ne felejtsétek el a try blokkot!