Bagaimana Cara Menghasilkan Angka Acak di Java dengan Beberapa Variasi?
Diterbitkan: 2019-02-27
Di Java, ada metode random()
di kelas Math
, yang mengembalikan nilai ganda antara 0.0 and 1.0
. Di kelas Random ada metode nextInt(int n)
, yang mengembalikan nilai acak dalam kisaran 0 (inklusif) dan n (eksklusif).
Saya yakin Anda pasti pernah menghadapi pertanyaan di bawah ini:
- Bagaimana cara menghasilkan angka acak di Jawa?
- Menghasilkan nomor acak dalam rentang dengan Java
- Di mana saya dapat menemukan Contoh Angka Acak Java?
- Contoh Metode Java.lang.Math.random()
Berikut adalah contoh sederhana yang menggunakan fungsi Random() dan memberikan jawaban untuk semua pertanyaan Anda.

Inilah yang kami lakukan di sini:
- Buat metode
RandomTest1
() yang merupakan tes sederhana yang mencetak angka acak antara angka min dan maksimal (Contoh Rentang Angka). - Buat metode
RandomTest2
() yang merupakan tes sederhana yang mencetak entri acak dari daftar. - Buat
Two Threads
di utama danrun
metode Utama.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
package crunchify . com . tutorials ; import java . util . ArrayList ; import java . util . List ; import java . util . Random ; /** * @author Crunchify.com * How to Generate Random Number in Java with Some Variations? */ public class CrunchifyRandomNumber { // Simple test which prints random number between min and max number (Number Range Example) public void RandomTest1 ( ) throws InterruptedException { while ( true ) { int min = 50 ; int max = 100 ; // random() returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. // Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range. float randomNumber = ( min + ( float ) ( Math . random ( ) * ( ( max - min ) ) ) ) ; System . out . println ( "Crunchify Thread 1 random result: " + randomNumber ) ; // sleep() causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, // subject to the precision and accuracy of system timers and schedulers. // The thread does not lose ownership of any monitors. Thread . sleep ( 500 ) ; } } // Simple test which prints random entry from list below public void RandomTest2 ( ) throws InterruptedException { List < String > list = new ArrayList < String > ( ) ; list . add ( "Facebook" ) ; list . add ( "Twitter" ) ; list . add ( "Google" ) ; Random randomNumber = new Random ( ) ; String randomEle ; int listSize = list . size ( ) ; while ( true ) { randomEle = list . get ( randomNumber . nextInt ( listSize ) ) ; System . out . println ( "Crunchify Thread 2 random result: " + randomEle ) ; Thread . sleep ( 500 ) ; } } static public void main ( String [ ] args ) { // Let's run both Test1 and Test2 methods in parallel.. Thread crunchifyThread1 = new Thread ( ) { public void run ( ) { CrunchifyRandomNumber crNumber = new CrunchifyRandomNumber ( ) ; try { crNumber . RandomTest1 ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } ; Thread crunchifyThread2 = new Thread ( ) { public void run ( ) { CrunchifyRandomNumber crNumber = new CrunchifyRandomNumber ( ) ; try { crNumber . RandomTest2 ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } ; // start() Causes this thread to begin execution; the Java Virtual Machine calls the run method of this thread. //The result is that two threads are running concurrently: the current thread // (which returns from the call to the start method) and the other thread (which executes its run method). crunchifyThread1 . start ( ) ; crunchifyThread2 . start ( ) ; } } |
Keluaran Konsol Eclipse:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/ Library / Java / JavaVirtualMachines / jdk - 15.jdk / Contents / Home / bin / java - javaagent : / Applications / IntelliJ IDEA . app / Contents / lib / idea_rt . jar = 55975 : / Applications / IntelliJ IDEA . app / Contents / bin - Dfile . encoding = UTF - 8 - classpath / Users / app / crunchify / github / CrunchifyTutorials / target / classes : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / zxing - 2.1.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - logging - 1.1.2.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - collections - 3.2.1.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / javax . mail . jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - io - 2.4.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - lang - 2.6.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - configuration - 1.9.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / log4j - 1.2.17.jar : / Users / app / crunchify / github / CrunchifyTutorials / WebContent / WEB - INF / lib / commons - beanutils - 1.8.3.jar : / Users / app / . m2 / repository / org / glassfish / javax . json / 1.0.4 / javax . json - 1.0.4.jar : / Users / app / . m2 / repository / com / github / wnameless / json - flattener / 0.2.2 / json - flattener - 0.2.2.jar : / Users / app / . m2 / repository / com / eclipsesource / minimal - json / minimal - json / 0.9.4 / minimal - json - 0.9.4.jar : / Users / app / . m2 / repository / org / apache / commons / commons - lang3 / 3.10 / commons - lang3 - 3.10.jar : / Users / app / . m2 / repository / com / google / code / gson / gson / 2.8.0 / gson - 2.8.0.jar : / Users / app / . m2 / repository / net / jodah / expiringmap / 0.5.7 / expiringmap - 0.5.7.jar : / Users / app / . m2 / repository / org / apache / httpcomponents / httpclient / 4.3.6 / httpclient - 4.3.6.jar : / Users / app / . m2 / repository / org / apache / httpcomponents / httpcore / 4.3.3 / httpcore - 4.3.3.jar : / Users / app / . m2 / repository / commons - codec / commons - codec / 1.6 / commons - codec - 1.6.jar : / Users / app / . m2 / repository / org / json / json / 20151123 / json - 20151123.jar : / Users / app / . m2 / repository / net / spy / spymemcached / 2.12.3 / spymemcached - 2.12.3.jar : / Users / app / . m2 / repository / com / whalin / Memcached - Java - Client / 3.0.2 / Memcached - Java - Client - 3.0.2.jar : / Users / app / . m2 / repository / commons - pool / commons - pool / 1.5.6 / commons - pool - 1.5.6.jar : / Users / app / . m2 / repository / org / slf4j / slf4j - api / 1.6.4 / slf4j - api - 1.6.4.jar : / Users / app / . m2 / repository / com / googlecode / xmemcached / xmemcached / 2.4.5 / xmemcached - 2.4.5.jar : / Users / app / . m2 / repository / com / paypal / sdk / rest - api - sdk / 1.14.0 / rest - api - sdk - 1.14.0.jar : / Users / app / . m2 / repository / commons - dbcp / commons - dbcp / 20030825.184428 / commons - dbcp - 20030825.184428.jar : / Users / app / . m2 / repository / javax / ws / rs / javax . ws . rs - api / 2.0 / javax . ws . rs - api - 2.0.jar : / Users / app / . m2 / repository / org / hamcrest / hamcrest - all / 1.3 / hamcrest - all - 1.3.jar : / Users / app / . m2 / repository / log4j / log4j / 1.2.17 / log4j - 1.2.17.jar : / Users / app / . m2 / repository / com / google / guava / guava / 19.0 / guava - 19.0.jar : / Users / app / . m2 / repository / com / googlecode / json - simple / json - simple / 1.1 / json - simple - 1.1.jar : / Users / app / . m2 / repository / commons - net / commons - net / 2.0 / commons - net - 2.0.jar : / Users / app / . m2 / repository / asm / asm / 3.3.1 / asm - 3.3.1.jar : / Users / app / . m2 / repository / axis / axis / 1.4 / axis - 1.4.jar : / Users / app / . m2 / repository / org / apache / axis / axis - jaxrpc / 1.4 / axis - jaxrpc - 1.4.jar : / Users / app / . m2 / repository / axis / axis - wsdl4j / 1.5.1 / axis - wsdl4j - 1.5.1.jar : / Users / app / . m2 / repository / commons - beanutils / commons - beanutils / 1.8.3 / commons - beanutils - 1.8.3.jar : / Users / app / . m2 / repository / commons - collections / commons - collections / 3.2.1 / commons - collections - 3.2.1.jar : / Users / app / . m2 / repository / commons - configuration / commons - configuration / 1.10 / commons - configuration - 1.10.jar : / Users / app / . m2 / repository / commons - io / commons - io / 2.4 / commons - io - 2.4.jar : / Users / app / . m2 / repository / commons - discovery / commons - discovery / 0.5 / commons - discovery - 0.5.jar : / Users / app / . m2 / repository / commons - lang / commons - lang / 2.6 / commons - lang - 2.6.jar : / Users / app / . m2 / repository / commons - logging / commons - logging / 1.1.3 / commons - logging - 1.1.3.jar : / Users / app / . m2 / repository / commons - logging / commons - logging - api / 1.1 / commons - logging - api - 1.1.jar : / Users / app / . m2 / repository / javax / mail / mail / 1.4.7 / mail - 1.4.7.jar : / Users / app / . m2 / repository / javax / activation / activation / 1.1 / activation - 1.1.jar : / Users / app / . m2 / repository / javax / xml / jaxrpc - api / 1.1 / jaxrpc - api - 1.1.jar : / Users / app / . m2 / repository / javax / servlet / javax . servlet - api / 3.1.0 / javax . servlet - api - 3.1.0.jar : / Users / app / . m2 / repository / org / apache / axis / axis - saaj / 1.4 / axis - saaj - 1.4.jar : / Users / app / . m2 / repository / wsdl4j / wsdl4j / 1.6.3 / wsdl4j - 1.6.3.jar : / Users / app / . m2 / repository / com / google / zxing / core / 3.2.1 / core - 3.2.1.jar : / Users / app / . m2 / repository / org / apache / commons / commons - compress / 1.9 / commons - compress - 1.9.jar : / Users / app / . m2 / repository / mysql / mysql - connector - java / 5.1.6 / mysql - connector - java - 5.1.6.jar : / Users / app / . m2 / repository / junit / junit / 4.12 / junit - 4.12.jar : / Users / app / . m2 / repository / org / hamcrest / hamcrest - core / 1.3 / hamcrest - core - 1.3.jar : / Users / app / . m2 / repository / ch / qos / logback / logback - classic / 1.2.3 / logback - classic - 1.2.3.jar : / Users / app / . m2 / repository / ch / qos / logback / logback - core / 1.2.3 / logback - core - 1.2.3.jar : / Users / app / . m2 / repository / org / springframework / spring - context / 5.1.3.RELEASE / spring - context - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - aop / 5.1.3.RELEASE / spring - aop - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - beans / 5.1.3.RELEASE / spring - beans - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - core / 5.1.3.RELEASE / spring - core - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - jcl / 5.1.3.RELEASE / spring - jcl - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - expression / 5.1.3.RELEASE / spring - expression - 5.1.3.RELEASE.jar : / Users / app / . m2 / repository / org / springframework / spring - context - support / 5.1.3.RELEASE / spring - context - support - 5.1.3.RELEASE.jar crunchify . com . tutorials . CrunchifyRandomNumber Crunchify Thread 2 random result : Twitter Crunchify Thread 1 random result : 98.03486 Crunchify Thread 2 random result : Google Crunchify Thread 1 random result : 57.48709 Crunchify Thread 2 random result : Google Crunchify Thread 1 random result : 87.54976 Crunchify Thread 2 random result : Google Crunchify Thread 1 random result : 75.2223 Crunchify Thread 2 random result : Facebook Crunchify Thread 1 random result : 91.617584 Crunchify Thread 2 random result : Facebook Crunchify Thread 1 random result : 64.705574 Crunchify Thread 2 random result : Google Crunchify Thread 1 random result : 72.043884 Crunchify Thread 2 random result : Google Crunchify Thread 1 random result : 70.38615 Crunchify Thread 2 random result : Facebook Crunchify Thread 1 random result : 55.705227 Crunchify Thread 2 random result : Facebook Crunchify Thread 1 random result : 76.36104 Crunchify Thread 2 random result : Twitter Crunchify Thread 1 random result : 75.84907 Process finished with exit code 130 ( interrupted by signal 2 : SIGINT ) |
Anda mungkin ingin melihat lebih dari 500 tutorial tentang Java.
