Διαδρομές
/
Java
Java
/
Ύλη
/
Τυχαιότητα
Τυ

Τυχαιότητα σε Java

6 ασκήσεις

Σχετικά με την έννοια Τυχαιότητα

Δημιουργία τυχαίων τιμών

Υπάρχουν πολλοί τρόποι για να δημιουργήσεις τυχαίες τιμές στην Java.

Χρήση της κλάσης Random

Η κλάση java.util.Random παρέχει αρκετές μεθόδους για τη δημιουργία ψευδοτυχαίων τιμών.

Random random = new Random();

random.next(8); // Generates a random int with the given number of bits, in this case 8

random.nextInt(); // Generates a random int in the range Integer.MIN_VALUE through Integer.MAX_VALUE
random.nextInt(10); // Generates a random int in the range 0 to 10

random.nextFloat(); // Generates a random float in the range 0.0 to 1.0
random.nextDouble(); // Generates a random double in the range 0.0 to 1.0

random.nextBoolean(); // Generates a random boolean value
random.nextLong(); // Generates a random long value

Εκτός από τον προεπιλεγμένο κατασκευαστή της, η κλάση Random έχει και έναν ακόμη κατασκευαστή όπου μπορείς να δώσεις ένα προσαρμοσμένο seed. Αν δημιουργηθούν δύο στιγμιότυπα του Random με το ίδιο seed και γίνει η ίδια ακολουθία κλήσεων μεθόδων στο καθένα, θα παράγουν και θα επιστρέψουν πανομοιότυπες ακολουθίες αριθμών.

Χρήση της Math.random()

Η μέθοδος Math.random() είναι μια βοηθητική μέθοδος για τη δημιουργία ενός τυχαίου Double στο διάστημα από 0.0 έως 1.0.

Χρήση της ThreadLocalRandom

Η κλάση java.util.concurrent.ThreadLocalRandom είναι μια εναλλακτική για την java.util.Random και είναι σχεδιασμένη να είναι thread-safe. Αυτή η κλάση έχει κάποιες επιπλέον βοηθητικές μεθόδους για τη δημιουργία τιμών που δέχονται και κάτω και άνω όριο, κάνοντάς την λίγο πιο εύκολη στη χρήση.

ThreadLocalRandom random = ThreadLocalRandom.current();

random.nextInt(10, 20); // Generates a random int in the range 10 to 20
random.nextLong(10, 20); // Generates a random long in the range 10 to 20

random.nextFloat(10.0, 20.0); // Generates a random float in the range 10 to 20
random.nextDouble(10.0, 20.0); // Generates a random double in the range 10 to 20

Ασφάλεια

Οι τυχαίες τιμές χρησιμοποιούνται συχνά για τη δημιουργία ευαίσθητων τιμών, όπως κωδικοί πρόσβασης. Ωστόσο, όλες οι μέθοδοι δημιουργίας τυχαίων τιμών που περιγράφηκαν παραπάνω δεν θεωρούνται κρυπτογραφικά ασφαλείς.

Για να δημιουργήσεις κρυπτογραφικά ισχυρούς τυχαίους αριθμούς, χρησιμοποίησε την κλάση java.security.SecureRandom.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Τυχαιότητα