Kurzusok
/
Java
Java
/
Feladatok
/
Szökőév
Szökőév

Szökőév

Könnyű

Bevezetés

A Gergely-naptárban szökőév az alábbi esetekben fordul elő:

  • Minden olyan évben, amely maradék nélkül osztható 4-gyel.
  • Kivéve, ha az év maradék nélkül osztható 100-zal; ebben az esetben csak akkor szökőév, ha az év 400-zal is maradék nélkül osztható.

Néhány példa:

  • 1997 nem volt szökőév, mert nem osztható 4-gyel.
  • 1900 nem volt szökőév, mert nem osztható 400-zal.
  • 2000 szökőév volt!
Note

Ha kíváncsi vagy a szökőévek egész jelenségére, nézd meg ezt a négyperces YouTube-videót, amely remek magyarázatot ad róla.

Utasítások

A feladatod annak megállapítása, hogy egy adott év szökőév-e.

Megvalósítás

Mielőtt elkezded, győződj meg róla, hogy érted, hogyan kell olyan kódot írni, amely átmegy a teszteseteken. További háttérhez nézd meg ezt az útmutatót.

A legtöbb Java-feladat több tesztesetet tartalmaz. Ezek a tesztesetek úgy vannak felépítve, hogy támogassanak egy hasznos folyamatot, amelyet tesztvezérelt fejlesztésnek (TDD) neveznek. A TDD egy ismétlődő ciklusból áll, amely segít a programozóknak, hogy az összetett funkcionalitást ne egyszerre, hanem darabonként építsék fel. Ez a ciklus a következőképpen írható le:

  1. Adj hozzá egy tesztet, amely a kívánt funkcionalitásnak azt az egy darabját írja le, amely jelenleg hiányzik a kódodból.
  2. Futtasd le a teszteket, és ellenőrizd, hogy ez az újonnan hozzáadott teszt elbukik.
  3. Frissítsd a meglévő kódodat, amíg:
    • az összes régi teszt továbbra is átmegy;
    • az új teszt is átmegy.
  4. Tisztítsd meg a kódodat, és győződj meg róla, hogy minden teszt továbbra is átmegy. Ez általában a változók átnevezését, a duplikált logikadarabok eltávolítását, a bennmaradt naplókiírások törlését jelenti, és így tovább.
  5. Térj vissza az 1. lépéshez, amíg minden kívánt funkcionalitás el nem készül!

A kurzus tesztfájljai az összes olyan tesztet tartalmazzák, amelyet a megoldásodnak teljesítenie kell ahhoz, hogy érvényesnek számítson. Ez elsőre nem tűnik összeegyeztethetőnek a fent leírt ciklussal, amelyben a teszteket egyenként írjuk. Ám a tesztjeink megírásához használt eszköz, a JUnit biztosít egy @Disabled annotációt, amellyel ideiglenesen kihagyhatsz egy már megírt tesztet. Ezzel az annotációval elérjük, hogy a neked átadott tesztfájlok megfeleljenek a következő szabályoknak:

  • Bármelyik tesztfájl első tesztje alapértelmezés szerint nincs kihagyva.
  • Bármelyik tesztfájlban az első kivételével az összes teszt alapértelmezés szerint ki van hagyva.

Ez lehetővé teszi, hogy a következő, kissé módosított lépéseket követve szimuláld a TDD-ciklust:

  1. Futtasd le a teszteket, és ellenőrizd, hogy legfeljebb egy teszt bukik el.
  2. Frissítsd a meglévő kódodat, amíg az összes nem kihagyott teszt átmegy.
  3. Tisztítsd meg a kódodat, és győződj meg róla, hogy minden nem kihagyott teszt továbbra is átmegy.
  4. Távolítsd el a tesztfájl legfelső @Disabled annotációját.
  5. Térj vissza az 1. lépéshez, amíg nem lesz kihagyott teszt, és minden teszt át nem megy!
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Java Exercism

Készen állsz elkezdeni a(z) Szökőév feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Java nyelvet 26 fogalom158 feladat segítségével, valódi emberi mentorálással, mindez ingyen.

Mélyelemzés: Szökőév!

Merülj el a Szökőév feladat megoldásához használható különféle algoritmusokban és megközelítésekben, ahogy Jeremy és Erik érdekes közösségi megoldásokat fedez fel az Exercism 10 különböző nyelvén.