Ngahasilkeun angka acak di Java mangrupakeun tugas umum. Salaku conto, anjeun panginten badé ngaéksekusi tés kalayan nilai acak unggal waktos. Dina tulisan ieu, urang ningali sababaraha cara pikeun ngahasilkeun nomer acak di Jawa.
Di Java, urang tiasa ngahasilkeun nomer acak ku ngagunakeun java.util.Random
kelas.
Sakali urang ngimpor kelas Acak, urang tiasa ngadamel objék darinya anu masihan urang kamampuan ngagunakeun nomer acak.
Salaku conto, metode nextInt()
sareng nextLong()
bakal balikkeun angka anu aya dina kisaran nilai (négatip sareng positip) tina int sareng jinis data anu masing-masing.
import java.util.Random; public class GenerateRandomNumbers {
static Random rand;
public static void main(String[] args) {
rand = new Random();
System.out.println('Random integer: ' + rand.nextInt());
System.out.println('Random long: ' + rand.nextLong());
System.out.println('Random boolean: ' + rand.nextBoolean());
} }
Kadang-kadang, urang hoyong angka acak dihasilkeun tina jajaran anu tangtu, mis. antara 1 sareng 50.
Pikeun ngalakukeun ieu, urang tiasa nyayogikeun parameter bilangan bulat pikeun nextInt()
cara. Parameter ieu ngahartikeun wates luhur pikeun jajaran.
Hiji hal anu kedah diperhatoskeun di dieu nyaéta yén angka wates luhur henteu kalebet salaku salah sahiji nomer anu dihasilkeun. Salaku conto, nextInt(5)
ngahasilkeun nomer tina 0
ka 4
kaasup.
Upami urang ogé hoyong 5
janten dina daptar nomer acak, urang kedah nganggo nextInt(5)+1
import java.util.Random; public class GenerateRandomNumbers {
static Random rand;
public static void main(String[] args) {
rand = new Random();
int randInt = rand.nextInt(5) + 1;
System.out.println('Random integer: ' + randInt);
} }
Kelas Acak ngahasilkeun nomer acak dina cara deterministik. Algoritma anu ngahasilkeun acak dumasar kana angka anu disebut binih. Upami nomer siki dipikaterang maka dimungkinkeun pikeun milarian angka anu badé dihasilkeun tina algoritma.
Tujuan tina SecureRandom
Kelas nyaéta pikeun ngahasilkeun angka acak anu kuat sacara kriptografi.
Anu SecureRandom
kedah ngahasilkeun kaluaran anu teu ditangtukeun. Ku sabab kitu bahan matéri naon waé anu dialirkeun ka SecureRandom
obyék kudu teu bisa diprediksi.
Ieu di handap aya conto panggunaan SecureRandom
kelas pikeun ngahasilkeun nomer acak di Jawa
import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.SecureRandom; public class GenerateRandomNumbers {
static SecureRandom secureRandomGenerator;
public static void main(String[] args) {
try {
secureRandomGenerator = SecureRandom.getInstance('SHA1PRNG', 'SUN');
}
catch (NoSuchAlgorithmException | NoSuchProviderException e) {
}
//Get random integer in range
int randInRange = secureRandomGenerator.nextInt(499);
System.out.println(randInRange);
} }
Conto di luhur ngagambarkeun kumaha ngahasilkeun nomer acak di Java.
Rujukan: Generasi Nomer Acak Aman