A java.util.Random osztály egy példányával véletlenszámokat generálhatsz Java-ban.
Véletlen egész számot a nextInt() metódussal generálhatsz.
Ez egy Integer.MIN_VALUE és Integer.MAX_VALUE közötti értéket ad vissza.
Random random = new Random();
random.nextInt();
// => -1169335537
A generált értékek tartományának szűkítéséhez a nextInt(int) metódust használd.
Ez egy 0-tól (beleértve) a megadott felső korlátig (kizárólag) terjedő értéket ad vissza.
Ez például egy 0 és 9 közötti véletlen számot ad vissza.
Random random = new Random();
random.nextInt(10);
// => 6
Ez pedig egy 10 és 19 közötti véletlen számot ad vissza.
Random random = new Random();
10 + random.nextInt(10);
// => 11
Véletlen lebegőpontos számot a nextDouble() metódussal generálhatsz.
Ez egy 0.0 és 1.0 közötti értéket ad vissza.
Random random = new Random();
random.nextDouble();
// => 0.19250004204021398
Ez pedig egy 100.0 és 200.0 közötti véletlen számot ad vissza.
Random random = new Random();
100.0 + 100.0 * random.nextDouble();
// => 111.31849856260328
Mary nagy rajongója a Star Trek: The Next Generation tévésorozatnak. Gyakran játszik asztali szerepjátékokat, amelyekben ő és a barátai a Starship Enterprise legénységének adják ki magukat. Mary karaktere Picard kapitány, ami azt jelenti, hogy neki kell vezetnie a kapitányi naplót. Imádja a játék kreatív részét, de nem szeret helyben véletlenszerű adatokat generálni.
Segíts Marynek véletlenszerű generátorokat készíteni a kapitányi naplóban gyakran felbukkanó adatokhoz.
A feladat kezdő implementációja egy java.util.Random példányt vár konstruktorargumentumként.
Ez lehetővé teszi, hogy a feladat tesztjei egy előre meghatározott maggal rendelkező példányt adjanak át, amitől a tesztek eredménye kiszámíthatóvá válik.
Ezért az implementációdban a rendelkezésre bocsátott java.util.Random példányt kell használnod.
A Starship Enterprise utazásai során számos bolygóval találkozik.
A Star Trek univerzumában a bolygókat a tulajdonságaik alapján kategóriákba sorolják.
Például a Föld egy M osztályú bolygó.
Az összes lehetséges bolygóosztály: D, H, J, K, L, M, N, R, T és Y.
Valósítsd meg a randomPlanetClass() metódust.
A metódus véletlenszerűen adja vissza az egyik bolygóosztályt.
captainsLog.randomPlanetClass();
// => "K"
Nem az Enterprise (lajstromszáma NCC-1701) az egyetlen csillaghajó, amelyik az űrben repked!
Amikor egy másik csillaghajóval találkozik, Marynek fel kell jegyeznie annak a csillaghajónak a lajstromszámát a naplóba.
A lajstromszámok a „NCC-” előtaggal kezdődnek, majd egy 1000 és 9999 közötti (mindkét végpontot beleértve) szám következik.
Valósítsd meg a randomShipRegistryNumber() metódust, amely egy véletlenszerű csillaghajó-lajstromszámot ad vissza.
captainsLog.randomShipRegistryNumber();
// => "NCC-1947"
Mi értelme a naplónak, ha nincsenek benne dátumok?
A csillagdátum egy lebegőpontos szám.
A Starship Enterprise kalandjai a The Next Generation első évadában a 41000.0 és 42000.0 közötti csillagdátumokra esnek.
A „4” a 24. századot jelöli, az „1” pedig az első évadot.
Valósítsd meg a randomStardate() metódust, amely egy 41000.0 (beleértve) és 42000.0 (nem beleértve) közötti lebegőpontos számot ad vissza.
captainsLog.randomStardate();
// => 41458.15721310934
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.