English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java随机数的产生比较简单,可以通过
Random rand = new Random(47); System.out.println(rand.nextInt());
产生,也可以通过以下产生:
double d = Math.random();
当然代码中前者由于使用了固定的种子47,所以每次的值都是一样的,也可以使用
Random rand = new Random(); System.out.println(rand.nextInt());
而对于代码2则产生的是double的随机数。
下面说下关于3的方式,目前有个需求就是需要产生4位随机数,用于短信注册码的生成,那么就需要使用到随机数,于是使用代码3来实现。若直接使用该代码那么结果并不能满足条件,那么通过以下方式来实现:
//方式一 Random rand = new Random(); for (int i = 0; i < 4; i++) { System.out.print(Math.abs(rand.nextInt() % 10)); } //以上通过rand.next产生随机数,因可能存在负数,用Math.abs取绝对值,然后取模10,产生的结果在10以内 //方式二 Random rand = new Random(); for (int i = 0; i < 4; i++) { System.out.print(rand2.nextInt(10)); } // L'uso dell'api sopra genera direttamente un numero casuale tra 0 e 10
Un modulo di numeri casuali in JAVA che ho scritto di recente, che impacchetta vari metodi utili relativi ai numeri casuali, lo porto a condividere.
Non ci sono molte tecnologie avanzate qui, il nome delle funzioni può anche vedere l'uso, quindi è sufficiente commentare in modo semplice, se ci sono problemi si può lasciare un messaggio.
源代码(RandomSet.java):
import java.awt.Color; import java.util.Collection; import java.util.Iterator; import java.util.Random; public class RandomSet { static Random random = new Random(); // ottiene un numero intero casuale in un intervallo specificato public static int getRandomNum(int smallistNum,int BiggestNum) { return (Math.abs(random.nextInt())%(BiggestNum-smallistNum+1))+smallistNum; } // ottiene un valore booleano casuale public static Boolean getRandomBoolean() { return (getRandomNum(0,1) == 1); } // ottiene un numero casuale a virgola mobile tra 0 e 1 public static float getRandomFloatIn_1() { return (float)getRandomNum(0,1000)/1000; } // ottiene un colore casuale public static Color getRandomColor() { float R = (float)getRandomNum(0,255)/255; float G = (float)getRandomNum(0,255)/255; float B = (float)getRandomNum(0,255)/255; return new Color(R,G,B); } // con una certa probabilità restituisce un valore booleano public static Boolean getRate(int rate) { if(rate<0 || rate > 100) { return false; } else { if(getRandomNum(0,100)<rate) { return true; } else { return false; } } } //Restituisce un elemento casuale dall'array fornito public static <T> T getElement(T[] t) { int index = getRandomNum(0,t.length - 1); return t[index]; } //Restituisce un elemento casuale dalla Collection fornita public static <T> T getElement(Collection<? extends T> c) { int atmp = getRandomNum(0,c.size() - 1); Iterator<? extends T> iter = c.iterator(); while(atmp > 0) { atmp--; iter.next(); } return iter.next(); } }
Conclusione
Questo è tutto il contenuto di condivisione del modulo di generazione di numeri casuali di programmazione Java in questo articolo, spero che sia utile a tutti. Gli amici interessati possono continuare a consultare altre sezioni correlate di questo sito, e se ci sono deficienze, sono benvenuti i commenti. Grazie per il supporto degli amici a questo sito!
Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il diritto d'autore è proprietà del rispettivo proprietario, il contenuto è stato contribuito e caricato volontariamente dagli utenti di Internet, questo sito non detiene il diritto di proprietà, non è stato elaborato manualmente e non assume alcuna responsabilità legale pertinente. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito rimuoverà immediatamente i contenuti sospetti di violazione del copyright.