Kurzusok
/
Java
Java
/
Feladatok
/
Kapitányi napló
Kapitányi napló

Kapitányi napló

Tanulófeladat

Bevezetés

Véletlenszerűség

A java.util.Random osztály egy példányával véletlenszámokat generálhatsz Java-ban.

Véletlen egész számok

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ámok

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

Utasítások

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.

Note

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.

1. Generálj egy véletlenszerű bolygót

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"

2. Generálj egy véletlenszerű csillaghajó-lajstromszámot

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"

3. Generálj egy véletlenszerű csillagdátumot

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
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Java Exercism

Készen állsz elkezdeni a(z) Kapitányi napló 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.