English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La generación de números aleatorios en Java es bastante simple, se puede generar a través de
Random rand = new Random(47); System.out.println(rand.nextInt());
Se produce, también se puede generar de la siguiente manera:
double d = Math.random();
Por supuesto, el primero en el código utiliza una semilla fija47Por lo tanto, el valor de cada vez es el mismo, también se puede utilizar
Random rand = new Random(); System.out.println(rand.nextInt());
Para el código2Se generan números aleatorios de tipo double.
A continuación, mencionaré sobre3modo, en la actualidad, hay una necesidad de generar4Para el número aleatorio, se utiliza para la generación de códigos de registro de短信, por lo que se necesita utilizar el número aleatorio, por lo que se utiliza el código3Para implementar. Si se utiliza este código entre ellos, los resultados no satisfarán las condiciones, por lo que se debe implementar de la siguiente manera:
//Método uno Random rand = new Random(); for (int i = 0; i < 4; i++{ System.out.print(Math.abs(rand.nextInt() % 10)) } //Se generan números aleatorios a través de rand.next, ya que es posible que existan números negativos, por lo que se utiliza Math.abs para obtener el valor absoluto y luego se toma el módulo10y los resultados generados son10dentro //Método dos Random rand = new Random(); for (int i = 0; i < 4; i++{ System.out.print(rand2.nextInt(10)) } //los anteriores se generan directamente mediante api10dentro
Un módulo de números aleatorios en JAVA que he escrito recientemente, que encapsula varios métodos útiles relacionados con la aleatoriedad, especialmente para compartir.
Aquí no hay nada de alta tecnología, el nombre de las funciones también puede ver su propósito, por lo que lo hago simple con comentarios, si hay algún problema, déjame un mensaje.
Código fuente(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(); //obtener un entero aleatorio en un rango dado public static int getRandomNum(int smallistNum, int BiggestNum) { return (Math.abs(random.nextInt())%(BiggestNum-smallistNum+1))+smallistNum; } //obtener un valor booleano aleatorio public static Boolean getRandomBoolean() { return (getRandomNum(0,1) === 1); } //obtener un número flotante aleatorio en el rango de 0~1número de punto flotante public static float getRandomFloatIn_1()) { return (float)getRandomNum(0,1000)/1000; } //obtener un color aleatorio 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 probabilidad determinada devuelve un valor booleano public static Boolean getRate(int rate) { if(rate<0 || rate > 10 { return false; } else { if(getRandomNum(0,100)<rate) { return true; } else { return false; } } } //Devuelve un elemento aleatorio del array proporcionado public static <T> T getElement(T[] t) { int index = getRandomNum(0,t.length - 1); return t[index]; } //Devuelve un elemento aleatorio de la Collection proporcionada 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(); } }
Resumen
Este es el contenido completo de la compartición del módulo de generación de números aleatorios en Java del artículo. Espero que sea útil para todos. Los amigos interesados pueden continuar leyendo otros temas relacionados en este sitio. Si hay deficiencias, por favor déjenos un mensaje. Agradecemos el apoyo de los amigos a este sitio!
Declaración: El contenido de este artículo se ha obtenido de la red, pertenece al propietario original, el contenido se ha contribuido y subido por los usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume responsabilidad alguna por las responsabilidades legales. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w3Aviso: Al enviar un correo electrónico, por favor reemplace # con @ para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.