Programando (en java of corse ) para los puertos de una aplicación me he encontrado , que si quería iniciar la misma aplicación 2 veces con dos subinterfaces tenía problemas con los puertos de estas IP's , necesitaba que algo no me generara problemas como que el puerto ya estaba en uso.
La solución que me he encontrado ha sido usar la función Random y aquí es cuando yo os explico como se , de que trata esta función de oracle y como hacerla.
Random ¿Que es?
Pues es una función que genera números de forma pseudoaleatoria , para nuestras aplicaciones o necesidades.
¿Que quiere decir Pseudoaleatoria?
Pues que coge el reloj interno del ordenador para generar dichos números , cosa que siempre que ejecutemos esa aplicación nos ejecutará los mismos números "aleatorios". Que nos sirve así , sin esa aleatoriedad tan necesaria en otras aplicaciones , por ejemplo en mi caso.
Pues ponemos el siguiente código :
int aux = 0; Random r = new Random(); aux = r.nextInt(100); System.out.println(aux);
Esto tendrá una salida de un número aleatorio entre 1 y 100 , por ejemplo
3 2 4 21 3
Nota : En este caso aunque no me costaba nada poner un for , se supone.
Pero si lo volvemos a ejecutar como ya hemos dicho con anterioridad dicho programa nos generará los mismos números , para solucionar eso :
int aux = 0; try { // el try-catch viene con la función sleep Thread.sleep(1000); // Sleep que necesitamos para cambiar los números } catch (InterruptedException e) { e.printStackTrace(); } Random r = new Random(); // Instanciamos la funcion Random aux = r.nextInt(100); // Genera los números aleatorios entre 1 a 100 System.out.println(aux); // Imprime los númerosEsto nos imprimirá por pantalla cada vez que nosotros lo ejecutemos distintos números , porque le estamos haciendo un sleep , por consiguiente estamos cambiando la aleatoriedad así pudiendo tener números más aleatorios .
Para el caso de que queramos nosotros poner los límites de "aleatoriedad" tenemos que poner lo siguiente , solo cambiaríamos la siguiente linea :
aux = r.nextInt(max - min -1 ) + max;Lógicamente como ya esta puesto en la línea se supone max como el valor máximo y min como el número mínimo.
Espero haberos ayudado .
No hay comentarios:
Publicar un comentario