A ternáris operátor egy könnyűsúlyú, tömör alternatíva az egyszerű if/else utasításokhoz.
Általában return utasításokban használják (de nem kizárólag azokban), és egyetlen sorban hozza meg a döntést: visszaadja a bal oldali értéket, ha a kifejezés true, a jobb oldali értéket pedig, ha false, a következőképpen:
boolean expr = 0 != 200;
// Ternary statement
int value = expr ? 22 : 33;
// => 22
Sok egyszerű if/else kifejezés egyszerűsíthető ternáris operátorokkal.
Ebben a feladatban egy alkalmazott havi teljes bérének kiszámításához írsz szabályokat. A(z) International Siderurgy Company (ISC) segítséget kér az alkalmazottak bérének kiszámításában, figyelembe véve a végbért befolyásoló különféle tényezőket.
Három részfeladatod van, és ezeket a ternáris operátorral valósítsd meg az if/else utasítások helyett.
Valósítsd meg a salaryMultiplier metódust, amely a kihagyott munkanapok száma alapján adja vissza a bérszorzót.
Ha az alkalmazott legalább öt napot kihagyott, 15%-os levonást alkalmazz.
int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0
daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85
Valósítsd meg a bonusMultiplier és a bonusForProductsSold metódust.
Az ISC tíz pénzegységet fizet minden eladott termék után, és ha az alkalmazott húsz vagy több terméket ad el, a szorzó tizenháromra nő.
A bonusMultiplier határozza meg, melyik szorzót kell alkalmazni, a bonusForProductSold pedig adja vissza a teljes bónuszt pénzegységben.
int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273
productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50
Valósítsd meg a finalSalary metódust.
Az 1000.00 alapbért szorozza meg a bérszorzóval, adja hozzá a bónuszt, és adja vissza az eredményt.
A bér azonban nem haladhatja meg a 2000.00-t.
int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00
productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
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.