A Boolean-okat Java-ban a boolean típus képviseli, amelynek az értéke true vagy false lehet.
A Java három logikai operátort támogat:
! (NOT): negálja a Boolean értékét&& (AND): két Boolean értéket kap, és true-t ad vissza, ha mindkettő true
|| (OR): true-t ad vissza, ha a két Boolean érték közül bármelyik true
!true // => false
!false // => true
true && false // => false
true && true // => true
false || false // => false
false || true // => true
Ebben a feladatban egy új RPG játék küldetéslogikáját valósítod meg, amelyet egy barátod fejleszt. A játék főszereplője Annalyn, egy bátor lány, akinek van egy elszánt és hűséges kutyája. Sajnos azonban baj történik: a legjobb barátját elrabolták, miközben bogyókat keresett az erdőben. Annalyn megpróbálja megtalálni és kiszabadítani a barátját, és a küldetésre akár a kutyáját is magával viheti.
Miután egy ideig követte a nyomokat, Annalyn rátalál a táborra, ahol a barátját fogva tartják. Kiderül, hogy két emberrabló van: egy hatalmas lovag és egy ravasz íjász.
Miután megtalálta az emberrablókat, Annalyn végiggondolja, melyik alábbi akcióba kezdhet:
Négy részfeladatod van: megvalósítani a logikát, amely az erdőben lévő három szereplő állapota, valamint Annalyn kutyájának jelenléte alapján eldönti, hogy a fenti akciók elvégezhetők-e.
Valósítsd meg a (statikus) AnnalynsInfiltration.canFastAttack() metódust, amely egy boolean értéket vár, jelezve, hogy a lovag ébren van-e.
A metódus true értéket ad vissza, ha a lovag állapota alapján végrehajtható egy gyors támadás.
Egyébként false értéket ad vissza:
boolean knightIsAwake = true;
AnnalynsInfiltration.canFastAttack(knightIsAwake);
// => false
Valósítsd meg a (statikus) AnnalynsInfiltration.canSpy() metódust, amely három boolean értéket vár, jelezve, hogy a lovag, az íjász, illetve a fogoly ébren van-e.
A metódus true értéket ad vissza, ha a három szereplő állapota alapján kikémlelhető a csoport.
Egyébként false értéket ad vissza:
boolean knightIsAwake = false;
boolean archerIsAwake = true;
boolean prisonerIsAwake = false;
AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
Valósítsd meg a (statikus) AnnalynsInfiltration.canSignalPrisoner() metódust, amely két boolean értéket vár, jelezve, hogy az íjász, illetve a fogoly ébren van-e.
A metódus true értéket ad vissza, ha a két szereplő állapota alapján lehet jelezni a fogolynak.
Egyébként false értéket ad vissza:
boolean archerIsAwake = false;
boolean prisonerIsAwake = true;
AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
Valósítsd meg a (statikus) AnnalynsInfiltration.canFreePrisoner() metódust, amely négy boolean értéket vár.
Az első három paraméter jelzi, hogy a lovag, az íjász, illetve a fogoly ébren van-e.
Az utolsó paraméter jelzi, hogy Annalyn kutyája jelen van-e.
A metódus true értéket ad vissza, ha a három szereplő állapota és Annalyn kutyájának jelenléte alapján kiszabadítható a fogoly.
Egyébként false értéket ad vissza:
boolean knightIsAwake = false;
boolean archerIsAwake = true;
boolean prisonerIsAwake = false;
boolean petDogIsPresent = false;
AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
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.