Ratkaistu: math.random välillä 1 ja 10

Viimeisin päivitys: 09/11/2023
Kirjoittaja: Java SourceTrail

Satunnaislukujen laskeminen voi olla olennainen osa monia sovelluksia, erityisesti pelien kehittämisessä, tilastollisessa mallintamisessa ja simulaatioissa. Java-ohjelmointikieli tarjoaa sisäänrakennetun toiminnon tällaisten satunnaislukujen luomiseen. Yksi funktio on Math.random(), vaikka se luo kaksinkertaiset arvot välillä 0.0 (mukaan lukien) ja 1.0 (ei sisällä). Satunnaisten kokonaislukujen luominen tietyllä alueella, kuten 1–10, edellyttää lisävaiheita. Tässä artikkelissa käsitellään satunnaislukujen luomista välillä 1–10 Javassa Math.random()-komennolla.

Satunnaislukujen luominen Math.random()

Javan Math.random()-funktio palauttaa positiivisen kaksoisarvon, joka on suurempi tai yhtä suuri kuin 0.0 ja pienempi kuin 1.0. Nämä arvot luodaan näennäissatunnaisesti, mikä tarkoittaa, että niiden luominen noudattaa tiettyä algoritmia, mutta näyttää käyttäjälle satunnaiselta.

double randomValue = Math.random();

Emme kuitenkaan voi suoraan käyttää Math.random()-funktiota kokonaisluvun luomiseksi välillä 1–10. Sen sijaan meidän on manipuloitava Math.random(:n) palauttamaa kaksoisarvoa.

Menetelmä satunnaisten kokonaislukujen luomiseksi väliltä 1-10

Simuloiksemme satunnaisen kokonaisluvun 1 ja 10 välillä, kerromme Math.random():n tuloksen 10:llä, lisäämme 1 ja laskemme tuloksen sitten kokonaisluvuksi (koska Math.random() palauttaa tuplaarvon) . Kokonaisluvuksi heittäminen katkaisee desimaaliosan, jolloin saamme kokonaisluvun arvon.

int randomInteger = (int)(Math.random() * 10 + 1);

Tämä koodi toimii, koska Math.random() tarjoaa arvon välillä 0.0 - hieman alle 1.0. Kun kerrot tämän 10:llä, se venyttää alueen 0.0:sta hieman alle 10.0:n. Kun lisäät 1, tämä alue nousee 1.0:sta hieman alle 11.0:aan.

Vaiheittainen erittely

Sukellaanpa syvemmälle koodin toimintaan:

1.

  • Kutsutaan Math.random()-funktiota, joka palauttaa näennäissatunnaisen kaksinkertaisen, joka on suurempi tai yhtä suuri kuin 0.0 ja pienempi kuin 1.0.
  • Tämä kaksoisarvo kerrotaan sitten 10:llä. Nyt kaksoisarvo on välillä 0.0 ja 10.0, silti alle 10.0
  • Lisäämme tulokseen 1. Kaksinkertainen arvo on nyt välillä 1.0 ja 11.0, silti pienempi kuin 11.0.
  • Lopuksi suoritamme tyyppivalun, joka muuntaa kaksoisluvun kokonaisluvuksi. Tämä katkaisee desimaaliosan ja saamme kokonaisluvun väliltä 1 ja 10.

Satunnaislukujen luomiseen liittyvät kirjastot ja toiminnot

Math.random(:n) lisäksi Java tarjoaa muita tapoja tuottaa satunnaislukuja, kuten Random-luokan ja ThreadLocalRandom-luokan. Random-luokka tarjoaa menetelmiä erityyppisten näennäissatunnaisten lukujen luomiseen, kuten int, double, long, float, Boolean jne. ThreadLocalRandom-luokka tarjoaa menetelmiä pseudosatunnaislukujen luomiseen samanaikaisissa skenaarioissa.

Java:n sisäänrakennetut toiminnot ja luokat tarjoavat kokonaisvaltaisia ​​ratkaisuja satunnaislukujen muodostamiseen erilaisiin tarpeisiin ja sovelluksiin.

Related viestiä: