Java genereert een willekeurig getal tussen twee gegeven waarden

Ik zou graag willen weten hoe ik een willekeurig getal tussen twee gegeven waarden kan genereren.

Ik kan een willekeurig getal genereren met het volgende:

Random r = new Random();
for(int i = 0; i < a.length; i++){
    for(int j = 0; j < a[i].length; j++){
        a[i][j] = r.nextInt();
    }
}

Hoe kan ik echter een willekeurig getal tussen 0 en 100 (inclusief) genereren?


Antwoord 1, autoriteit 100%

U kunt b.v. r.nextInt(101)

Voor een meer algemene “tussen twee cijfers” gebruik:

Random r = new Random();
int low = 10;
int high = 100;
int result = r.nextInt(high-low) + low;

Dit geeft je een willekeurig getal tussen 10 (inclusief) en 100 (exclusief)


Antwoord 2, autoriteit 13%

Ervan uitgaande dat de bovengrens de bovengrens is en de ondergrens de ondergrens, dan kunt u een willekeurig getal, r, tussen de twee grenzen maken met:

int r = (int) (Math.random() * (upper - lower)) + lower;

Antwoord 3, autoriteit 2%

int Random = (int)(Math.random()*100);

als u meer dan één waarde moet genereren, gebruik dan gewoon
for loop daarvoor

for (int i = 1; i <= 10 ; i++)
       {
        int Random = (int)(Math.random()*100);
        System.out.println(Random);
       }

Als u een meer fatsoenlijk bereik wilt specificeren, zoals van 10 tot 100 (beide vallen binnen het bereik)

dus de code zou zijn:

  int Random =10 +  (int)(Math.random()*(91));
   /* int Random = (min.value ) + (int)(Math.random()* ( Max - Min + 1));
  *Where min is the smallest value You want to be the smallest number possible to       
  generate and Max is the biggest possible number to generate*/

Antwoord 4

Zoals dit,

Random random = new Random();
int randomNumber = random.nextInt(upperBound - lowerBound) + lowerBound;

Antwoord 5

Gebruik Random.nextInt (int).

In jouw geval zou het er ongeveer zo uitzien:

a[i][j] = r.nextInt(101);

Antwoord 6

Java heeft geen willekeurige generator tussen twee waarden op dezelfde manier als Python. Er is eigenlijk maar één waarde nodig om de Random te genereren. Wat u dan moet doen, is EEN BEPAALD NUMMER toevoegen aan het gegenereerde nummer, waardoor het nummer binnen een bereik valt. Bijvoorbeeld:

package RandGen;
import java.util.Random;
public class RandGen {
    public static Random numGen =new Random();
public static int RandNum(){
    int rand = Math.abs((100)+numGen.nextInt(100));
    return rand;
}
public static void main(String[]Args){
   System.out.println(RandNum());
}

}

De functie van dit programma ligt volledig in regel 6 (Degene die begint met “int rand…”. Merk op dat Math.abs() het getal eenvoudig omzet in absolute waarde, en het wordt gedeclareerd als een int, dat is niet echt belangrijk De eerste (100) is het getal dat ik aan het willekeurige getal toevoeg. Dit betekent dat het nieuwe uitvoernummer het willekeurige getal + 100 zal zijn. numGen.nextInt() is de waarde van het willekeurige getal zelf, en omdat ik (100) tussen haakjes is het een willekeurig getal tussen 1 en 100. Dus als ik 100 optel, wordt het een getal tussen 101 en 200. Je genereert niet echt een getal tussen 100 en 200, je voegt toe aan het getal tussen 1 en 100.


Antwoord 7

Je kunt het ook hieronder proberen:

public class RandomInt { 
    public static void main(String[] args) { 
        int n1 = Integer.parseInt(args[0]);
        int n2 = Integer.parseInt(args[1]);
        double Random;
        if (n1 != n2)
        {
            if (n1 > n2)
            {
                Random = n2 + (Math.random() * (n1 - n2));
                System.out.println("Your random number is: " + Random);
            }
            else
            {
                Random = n1 + (Math.random() * (n2 - n1));   
                System.out.println("Your random number is: " +Random);
            }
        } else {
            System.out.println("Please provide valid Range " +n1+ " " +n2+ " are equal numbers." );
        }                     
    }
}

Other episodes