elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Crear numeros aleatorios con la clase Math.(solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear numeros aleatorios con la clase Math.(solucionado)  (Leído 10,528 veces)
Norlak

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Crear numeros aleatorios con la clase Math.(solucionado)
« en: 12 Diciembre 2011, 12:33 pm »

Buenas a todos mirad tengo un problema el cual nose porque no funciona, tengo que generar un numero entre 10 y 20 con la funcion Math.
 
Lo que tengo escrito es esto:
Citar
public class Principal {

   /**
    * @param args
    */
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      double z=0;
      
      do{
         z=Math.round((Math.random()*100));
         //System.out.println(z);
      }
//      
      while (z<20.0 && z>10.0);
      System.out.println(z);

   }

}

Alguien me puede explicar porque no se cumple mi condicion?, si me genera el numero pero uno cualquiera entre 0.0 hasta 100, si yo en el while le especifico las condiciones.

A alguien se le ocurre que pasa? Gracias de todas formas

PD:Felices Fiestas a todos!


« Última modificación: 12 Diciembre 2011, 19:04 pm por Norlak » En línea

Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #1 en: 12 Diciembre 2011, 12:48 pm »

Mmmm no lo hagas así.

Mejor haz esto:

Math.random()*10+10

Con eso TODOS los números generados estarán entre 10 y 19.9 periódico


En línea

Norlak

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #2 en: 12 Diciembre 2011, 15:58 pm »

Mmmm no lo hagas así.

Mejor haz esto:

Math.random()*10+10

Con eso TODOS los números generados estarán entre 10 y 19.9 periódico

Gracias por contestar tan rapido amigo, esa manera ya la he hecho, pero quiero saber porque falla de esta otra gracias de todos modos!
En línea

Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #3 en: 12 Diciembre 2011, 17:12 pm »

Porque le tienes dicho que mientras que los valores estén entre 10 y 20 NO salga xD
Solo tendrías que cambiar el < por >= y el > por <=
En línea

Norlak

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #4 en: 12 Diciembre 2011, 17:18 pm »

Porque le tienes dicho que mientras que los valores estén entre 10 y 20 NO salga xD
Solo tendrías que cambiar el < por >= y el > por <=

Es decir cambiar
Citar
while (z<20.0 && z>10.0);

Por

Citar
     
      while (z>=20.0 && z<=10.0);

Gracias por tu respuesta nuevamente, pero de esta manera sigue sin funcionarme ya que me sigue dando numeros aleatorios pero de cualquier rango, gracias.
En línea

Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #5 en: 12 Diciembre 2011, 18:53 pm »

Código:
while (z>20.0 || z<10.0);

Los iguales me acabo de fijar que excluían al 10 y al 20.
En línea

Norlak

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #6 en: 12 Diciembre 2011, 19:02 pm »

Código:
while (z>20.0 || z<10.0);

Los iguales me acabo de fijar que excluían al 10 y al 20.

Eres mi idolo XD, aver pero una aclaracion el "||" no significa , condicion 1 o condicion 2,

entonces no entiendo porque entra en el while XD bueno seguire buscando gracias!
En línea

Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Crear numeros aleatorios con la clase Math.
« Respuesta #7 en: 12 Diciembre 2011, 19:10 pm »

Tomaté el while como un mientras verdad hago
                                     while  condicion  do
Con el || (o) dará vueltas mientras una de esas condiciones sea cierta. Si es mayor que 20 ó menor que 10 NO me vale. Tienen que ser las dos condiciones falsas (es decir, que esté comprendido entre 10 y 20) para que se cumpla.


Se que no me he explicado bien... pero al menos lo he intentado xD
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Crear numeros aleatorios con la clase Math.(solucionado)
« Respuesta #8 en: 14 Diciembre 2011, 03:55 am »

Otra solución sin necesidad de utilizar mucha memoria.

Código
  1. /**
  2.  * @(#)NumerosAleatorios.java
  3.  *
  4.  *
  5.  * @author Darhius929
  6.  * @version 1.00 2011/12/13
  7.  */
  8. public class NumerosAleatorios {
  9.  
  10. public static void main(String args[]){
  11. new NumerosAleatorios();
  12. }
  13.  
  14.    public NumerosAleatorios() {
  15.  
  16.     double limiteUno=10.0;
  17.     double limiteDos=20.0;
  18.     double limiteInferior=0;
  19.     double limiteSuperior=0;
  20.     int totalNumeros=2;
  21.  
  22.     if(limiteUno<limiteDos){
  23.     limiteSuperior=limiteDos;
  24.     limiteInferior=limiteUno;
  25.     }else if(limiteUno>limiteDos){
  26.     limiteSuperior=limiteUno;
  27.     limiteInferior=limiteDos;
  28.     }else{
  29.     System.out.println("El limite inferior y superior no pueden ser iguales");
  30.     System.exit(0);
  31.     }
  32.  
  33.     for(int indice=0; indice<totalNumeros;indice++){
  34.     double numeroAleatorio=limiteInferior + ( Math.random()* ( limiteSuperior - limiteInferior  ) );
  35.     java.text.DecimalFormat df = new java.text.DecimalFormat("0.00");
  36.     System.out.println("El numero generado aleatoriamente es "+df.format(numeroAleatorio));
  37.     }
  38.    }
  39. }
  40.  

Saludos.
En línea

abc
Norlak

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: Crear numeros aleatorios con la clase Math.(solucionado)
« Respuesta #9 en: 14 Diciembre 2011, 10:56 am »

Otra solución sin necesidad de utilizar mucha memoria.

Código
  1. /**
  2.  * @(#)NumerosAleatorios.java
  3.  *
  4.  *
  5.  * @author Darhius929
  6.  * @version 1.00 2011/12/13
  7.  */
  8. public class NumerosAleatorios {
  9.  
  10. public static void main(String args[]){
  11. new NumerosAleatorios();
  12. }
  13.  
  14.    public NumerosAleatorios() {
  15.  
  16.     double limiteUno=10.0;
  17.     double limiteDos=20.0;
  18.     double limiteInferior=0;
  19.     double limiteSuperior=0;
  20.     int totalNumeros=2;
  21.  
  22.     if(limiteUno<limiteDos){
  23.     limiteSuperior=limiteDos;
  24.     limiteInferior=limiteUno;
  25.     }else if(limiteUno>limiteDos){
  26.     limiteSuperior=limiteUno;
  27.     limiteInferior=limiteDos;
  28.     }else{
  29.     System.out.println("El limite inferior y superior no pueden ser iguales");
  30.     System.exit(0);
  31.     }
  32.  
  33.     for(int indice=0; indice<totalNumeros;indice++){
  34.     double numeroAleatorio=limiteInferior + ( Math.random()* ( limiteSuperior - limiteInferior  ) );
  35.     java.text.DecimalFormat df = new java.text.DecimalFormat("0.00");
  36.     System.out.println("El numero generado aleatoriamente es "+df.format(numeroAleatorio));
  37.     }
  38.    }
  39. }
  40.  

Saludos.

Gracias amigo!
En línea

Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
NUMEROS ALEATORIOS EN VB
Programación Visual Basic
WCIETE 3 4,219 Último mensaje 30 Agosto 2005, 01:19 am
por Slasher-K
<Crear numeros aleatorios>
Programación Visual Basic
N0vat0 4 4,133 Último mensaje 27 Febrero 2008, 18:54 pm
por N0vat0
Números Aleatorios!
Programación Visual Basic
ka0s 5 4,661 Último mensaje 9 Abril 2009, 04:27 am
por ka0s
Generar caracteres aleatorios con Math.random.
Java
andressalasmx 3 24,891 Último mensaje 11 Noviembre 2014, 00:48 am
por andressalasmx
Crear numeros aleatorios distintos, usando semilla
Java
juligarc10 1 1,884 Último mensaje 25 Marzo 2019, 00:15 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines