Jadual Kandungan
Fungsi Penjana Nombor Rawak dalam Java
1. Kaedah Math.random()
Contoh
2. java.util.Kelas Random
3. Kelas ThreadLocalRandom
Penjanaan Integer
Menjana Nombor Mata Apungan
Kesimpulan – Penjana Nombor Rawak di Java
Rumah Java javaTutorial Penjana Nombor Rawak di Jawa

Penjana Nombor Rawak di Jawa

Aug 30, 2024 pm 04:27 PM
java

Nombor Rawak biasanya digunakan dalam membuat aplikasi seperti Dadu untuk permainan papan, Program Perjudian, dll. Biasanya, penjanaan nombor rawak mengambil banyak masa. Tetapi, dalam bahasa pengaturcaraan Java, ini boleh dicapai menggunakan tiga cara. Ia ditangani dalam bahagian bawah Fungsi Penjana Nombor Rawak di Java.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Fungsi Penjana Nombor Rawak dalam Java

Dalam Java, Nombor Rawak boleh dijana menggunakan 3 cara:

  • Kaedah Math.random
  • kelas java.util.Random
  • Kelas ThreadLocalRandom

1. Kaedah Math.random()

Kelas Java Math menawarkan beberapa kaedah untuk mengusahakan pengiraan seperti logaritma, purata, eksponen dan sebagainya. random() ialah salah satu kaedah antaranya yang mengembalikan nilai berganda positif dalam julat 0.0 dan 1.0 di mana 0.0 adalah inklusif, dan 1.0 adalah eksklusif. Kaedah ini boleh digunakan dengan atau tanpa menggunakan parameter. Jika parameter diberikan, nombor rawak yang dijana akan berada dalam julat parameter yang diberikan.

Contoh #1

Kod:

public class RandomNumber {
double num; //Declare a variable num
//Method which generates a random number
public double randnum()
{
num=Math.random();
return num;
}
// Main Method of a program
public static void main(String[] args) {
//Printing a random number
System.out.println("Random Number generated inside main method: "+Math.random());
//Create an object of the class RandomNumber
RandomNumber randomobj=new RandomNumber();
//Store the return value obtained from randnum method in a variable randomval
double randomval=randomobj.randnum();
//Printing the random number stored in variable randomval
System.out.println("Random Number generated inside randomnumber method: "+randomval);
}
}

Output:

Penjana Nombor Rawak di Jawa

Dalam Contoh di atas, Nombor Rawak dijana menggunakan kaedah Math.random() dalam dua cara-Menggunakannya secara langsung di dalam kaedah utama dan memanggil kaedah yang mengandungi Math.random() menggunakan objek.  Seperti yang dinyatakan dalam penjelasan di atas, kita dapat melihat bahawa 2 nombor rawak dijana dalam julat 0.0 dan 1.0.

Untuk menjana nombor rawak dalam julat parameter, ungkapan umum yang digunakan dinyatakan di bawah:

Math.random()*  (( maxvalue – minvalue ) +1 ) + minvalue

Contoh #2

Dengan nilai max ialah sempadan atas julat dan nilai min ialah sempadan bawah julat. Sebagai Contoh, untuk menjana nombor rawak antara 10 dan 20, tetapkan nilai maks sebagai 20 dan nilai min sebagai 10.

Kod:

public class RandomNumParameters {
public double randomnum(double x,double y)//max value-y, min value-x
{
double z =(Math.random()*((y-x)+1)+x); //Formula for random number generation within a range
return z;
}
public static void main(String[] args)
{
RandomNumParameters ran=new RandomNumParameters(); //Create instance for the class RandomNumParameters
double num=ran.randomnum(3.0, 10.0); //Call the Method
System.out.println("Random number generated within the range of 3 and 10: "+num );
} }

Output:

Penjana Nombor Rawak di Jawa

2. java.util.Kelas Random

Kelas Java.util.random menjana nombor rawak jenis data yang berbeza seperti float, long, integer, double, Boolean, dll. Anda juga boleh menghantar julat nombor sebagai argumen untuk menjana nombor rawak dalam julat itu . Untuk menggunakan kelas ini, kelas Rawak java.util mesti diimport (java.util.Random). Setelah kelas ini diimport, buat contoh dan panggil kaedah seperti next long(), nextInt(), dll. menggunakan tika itu.

Contoh

Kod:

//Java program to generate Random numbers using Random class
package Sample;
import java.util.Random; //import Random Class
public class RandomNum {
public static void main(String[] args) {
Random rand=new Random(); //Create instance of Random class
double randomnum=rand.nextDouble(); //Assign the Random Double value in randomnum variable
System.out.println("Random Double value: "+ randomnum);
}
}

Output:

Penjana Nombor Rawak di Jawa

Dalam atur cara di atas, nilai berganda rawak dijana menggunakan kaedah nextDouble().

3. Kelas ThreadLocalRandom

Kelas ThreadLocalRandom ialah jenis kelas Random yang khusus yang diperkenalkan dalam Java versi 1.7. ThreadLocalRandom.current().nextInt() ialah salah satu kaedah biasa yang digunakan untuk menjana nombor rawak. Ia biasanya digunakan dalam aplikasi berbilang benang.

Contoh

Kod:

//Java Program to generate random numbers using ThreadLocalRandom Class
import java.util.concurrent.ThreadLocalRandom;
public class RandomNumThread {
public static void main(String[] args) {
//print a random double
System.out.println("Random Double value using ThreadLocalRandom: "+ThreadLocalRandom.current().nextDouble());
}
}

Output:

Penjana Nombor Rawak di Jawa

Penjanaan Integer

Integer rawak boleh dijana menggunakan kelas ThreadLocalRandom dan Kelas Rawak. Dalam kedua-dua kes, kaedah nextInt() digunakan untuk perkara yang sama:

Contoh

Kod:

//Java program to generate Random integer numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomInteger {
public static void main(String[] args) {
Random rnd=new Random(); //Create instance of Random class
int randomnum1=rnd.nextInt(); //Random Integer value using Random Class
int randomnum2=rnd.nextInt(30); //Random Integer value within the range of 30
int randomnum3= ThreadLocalRandom.current().nextInt(); //Random Integer value using ThreadLocalRandom Class
System.out.println("Random Integer value using Random Class: "+ randomnum1);
System.out.println("Random Integer value within the range of 30: "+ randomnum2);
System.out.println("Random Integer value using ThreadLocalRandom Class: "+ randomnum3);
}
}

Output:

Penjana Nombor Rawak di Jawa

Dalam contoh di atas, tiga nombor jenis integer rawak dijana di mana salah satu kaedah nextInt() mempunyai 30 sebagai hujah. Jadi, semasa menjana nombor rawak, 30 akan ditetapkan sebagai had atas dan sifar (had bawah lalai) akan ditetapkan sebagai had bawah.

Menjana Nombor Mata Apungan

Sama seperti menjana nombor integer, nombor titik terapung boleh dijana menggunakan kaedah nextFloat(). Kaedah ini boleh digunakan dalam kedua-dua Kelas Rawak dan Kelas ThreadLocalRandom:

Contoh

Kod:

//Java program to generate Random Float numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomFloat {
public static void main(String[] args) {
Random rnd=new Random(); //Create instance of Random class
float randomnum1=rnd.nextFloat(); //Random Float value using Random Class
float randomnum2= ThreadLocalRandom.current().nextFloat(); //Random Float value using ThreadLocalRandom Class
System.out.println("Random float value using Random Class: "+ randomnum1);
System.out.println("Random float value using ThreadLocalRandom Class: "+ randomnum2);
}
}

Output:

Penjana Nombor Rawak di Jawa

Kesimpulan – Penjana Nombor Rawak di Java

Java mengandungi pelbagai fungsi yang boleh digunakan dalam atur cara. Ini membantu dalam mengurangkan masa pemprosesan dan baris kod. Penjanaan Nombor Rawak ialah satu tugas di mana kita boleh menggunakan beberapa fungsi ini. Dokumen ini merangkumi kaedah yang berbeza untuk mencapai matlamat ini.

Atas ialah kandungan terperinci Penjana Nombor Rawak di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1596
276
Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Aug 23, 2025 pm 12:55 PM

Adeadlockinjaoccurswhentwoormorethreadsareblockedforever, eachwaitingforaresourceHeldByTheother, biasanyaduetoculularwaitcausedbyinconsistentlockordering;

Anda tidak menggunakan paparan yang dilampirkan pada GPU NVIDIA [tetap] Anda tidak menggunakan paparan yang dilampirkan pada GPU NVIDIA [tetap] Aug 19, 2025 am 12:12 AM

Ifyousee"YouarenotusingadisplayattachedtoanNVIDIAGPU,"ensureyourmonitorisconnectedtotheNVIDIAGPUport,configuredisplaysettingsinNVIDIAControlPanel,updatedriversusingDDUandcleaninstall,andsettheprimaryGPUtodiscreteinBIOS/UEFI.Restartaftereach

Bagaimana cara menggunakan pilihan di Java? Bagaimana cara menggunakan pilihan di Java? Aug 22, 2025 am 10:27 AM

UseOptional.empty (), optional.of (), andOptional.ofnullable () tOcreateOptionalInStancesDependingOnwhethetheValueisabsent, non-null, orpossiblynull.2.CheckForvalUessafelySpresent () orprefeAdoShoDoD.

Penapis cat minyak ps berbentuk kelip -kelip Penapis cat minyak ps berbentuk kelip -kelip Aug 18, 2025 am 01:25 AM

TheOilPaintfilterinPhotoshopisgreyedoutusuallybecauseofincompatibledocumentmodeorlayertype;ensureyou'reusingPhotoshopCS6orlaterinthefulldesktopversion,confirmtheimageisin8-bitperchannelandRGBcolormodebycheckingImage>Mode,andmakesureapixel-basedlay

Senibina Kriptografi Java (JCA) untuk pengekodan selamat Senibina Kriptografi Java (JCA) untuk pengekodan selamat Aug 23, 2025 pm 01:20 PM

Memahami komponen teras JCA seperti MessageDigest, Cipher, KeyGenerator, SecureRandom, Signature, Keystore, dan lain -lain, yang melaksanakan algoritma melalui mekanisme penyedia; 2. Gunakan algoritma dan parameter yang kuat seperti SHA-256/SHA-512, AES (Kunci 256-bit, mod GCM), RSA (2048-bit atau ke atas) dan SecureRandom; 3. Elakkan kunci berkod keras, gunakan KeyStore untuk menguruskan kunci, dan menjana kunci melalui kata laluan yang diperoleh dengan selamat seperti PBKDF2; 4. Lumpuhkan mod ECB, mengamalkan mod penyulitan pengesahan seperti GCM, menggunakan IV rawak yang unik untuk setiap penyulitan, dan yang sensitif yang jelas pada waktunya

Membina aplikasi java awan-asli dengan micronaut Membina aplikasi java awan-asli dengan micronaut Aug 20, 2025 am 01:53 AM

Micronautisidealforbuildingcloud-nativaapplicationsduetoitslowmemoryfootprint, fastStartuptimes, dan kompilasi-timedependencyinjection, makeitsuperiortotraditionalframeworkslikespringbootformicroservices, dan

Java Kegigihan dengan Data Spring JPA dan Hibernate Java Kegigihan dengan Data Spring JPA dan Hibernate Aug 22, 2025 am 07:52 AM

Inti springdatajpa dan hibernate yang bekerja bersama adalah: 1. JPA adalah spesifikasi dan hibernate adalah pelaksanaan, SpringDatajpa enkapsulasi memudahkan pembangunan DAO; 2. Kelas entiti Peta pangkalan data pangkalan data melalui @Entity, @id, @column, dan sebagainya; 3. Antara muka repositori mewarisi JParepository untuk melaksanakan kaedah pertanyaan CRUD dan dinamakan secara automatik; 4. Pertanyaan Kompleks Gunakan @Query Anotation untuk menyokong JPQL atau SQL asli; 5. Dalam springboot, integrasi disiapkan dengan menambah kebergantungan starter dan mengkonfigurasi sumber data dan atribut JPA; 6. Urus niaga dibuat oleh @transactiona

Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Tetap: Windows menunjukkan 'Keistimewaan yang diperlukan tidak dipegang oleh pelanggan' Aug 20, 2025 pm 12:02 PM

RuntheapplicationorcommandasAdministratorbyright-clickingandselecting"Runasadministrator"toensureelevatedprivilegesaregranted.2.CheckUserAccountControl(UAC)settingsbysearchingforUACintheStartmenuandsettingtheslidertothedefaultlevel(secondfr

See all articles