float minX = 50.0f;
float maxX = 100.0f;

Random rand = new Random();

float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX;

«El método nextFloat() en el tipo Aleatorio no es aplicable para los argumentos (float)»

Um, ¿qué?

InformationsquelleAutor herpderp | 2011-05-20

4 Comentarios

  1. 78

    La nextFloat método no toma un argumento. Llamarlo, a continuación, la escala el valor devuelto en el rango que desee.

    float minX = 50.0f;
    float maxX = 100.0f;
    
    Random rand = new Random();
    
    float finalX = rand.nextFloat() * (maxX - minX) + minX;
    • Oh, yo supuse que iba a funcionar como nextInt()
    • No, simplemente devuelve un valor entre 0.0 y 1.0, que se puede utilizar como un práctico factor de escala.
    • el enlace a la nextFloat documentación está roto. quizás este uno de los docs.oracle.com/javase/7/docs/api/java/util/…
    • Sí, esa es la correcta. Gracias.
  2. 0

    La documentación es muy clara, nextFloat() no lleva argumentos. Le dará un número entre 0 y 1, y usted tendrá el uso que en su cálculo.

    edición: ejemplo

    private Random random = new Random();
    public float nextFloat(float min, float max)
    {
        return min + random.nextFloat() * (max - min)
    }
  3. 0

    Se debe leer como la siguiente como otros están sugiriendo.

    float finalX = rand.nextFloat();
    //do other stuff

Dejar respuesta

Please enter your comment!
Please enter your name here