How to generate unique random numbers in java
- In java we can generate random number in two ways
- By using Random class
- By using Math.random
Program #1: Java Example program to generate random numbers using random class within the range of 1 to 10
- First we need to create object of java.util.Random class.
- After creating object of java.util.Random class then we need call nextInt() method by passing range
- int range = maximum - minimum + 1;
- int randomNum = rn.nextInt(range) + minimum;
- package com.randomnumbergenerator;
- import java.util.Random;
- import java.util.Scanner;
- public class RandomNumber {
- /**
- * @Website: www.instanceofjava.com
- * @category: how to generate random numbers in java within range
- */
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- System.out.println("Enter minimum number");
- int minimum=in.nextInt();
- System.out.println("Enter maximum number");
- int maximum=in.nextInt();
- Random rn = new Random();
- int range = maximum - minimum + 1;
- int randomNum = rn.nextInt(range) + minimum;
- System.out.println("Random Number= "+randomNum);
- }
- }
Output:
- Enter minimum number
- 1
- Enter maximum number
- 10
- Random Number= 4
Program #2: Java Example program to generate random numbers using Math.random within the range of 1 to 10
- By using Math.random() method also we can generate random number in java
- int randomNum = minimum + (int)(Math.random() * maximum);
- package com.randomnumbergenerator;
- import java.util.Random;
- import java.util.Scanner;
- public class RandomNumber {
- /**
- * @Website: www.instanceofjava.com
- * @category: how to generate random numbers in java within range
- */
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- System.out.println("Enter minimum number");
- int minimum=in.nextInt();
- System.out.println("Enter maximum number");
- int maximum=in.nextInt();
- int randomNum = minimum + (int)(Math.random() * maximum);
- System.out.println("Random Number= "+randomNum);
- }
- }
Output:
- Enter minimum number
- 1
- Enter maximum number
- 10
- Random Number=5
Program #3: Java Example program to generate 10 random numbers using Random class within the range of 1 to 100 using for loop.
- package com.randomnumbergenerator;
- import java.util.Random;
- import java.util.Scanner;
- public class RandomNumber {
- /**
- * @Website: www.instanceofjava.com
- * @category: how to generate random numbers in java within range
- */
- public static void main(String[] args) {
- Random randomNumGenerator = new Random();
- for (int idx = 1; idx <= 10; ++idx){
- int randomInt = randomNumGenerator.nextInt(100);
- System.out.println("Random Number= "+randomInt);
- }
- }
- }
Output:
- Random Number= 17
- Random Number= 3
- Random Number= 74
- Random Number= 59
- Random Number= 81
- Random Number= 90
- Random Number= 2
- Random Number= 32
- Random Number= 11
- Random Number= 75
How to generate random numbers in java without repetitions
- lets see how to generate unique random numbers in java
- By using Collections.shuffle();
Program #4: Java Example program to generate 4 random numbers using Random class within the range of 1 to 100 without duplicate / java generate unique random number between 1 and 100
- package com.randomnumbergenerator;
- public class RandomNumber {
- /**
- * @Website: www.instanceofjava.com
- * @category: how to generate random numbers in java within range
- */
- public static void main(String[] args) {
- ArrayList<Integer> list = new ArrayList<Integer>();
- for (int i=1; i<10; i++) {
- list.add(new Integer(i));
- }
- Collections.shuffle(list);
- for (int i=0; i<4; i++) {
- System.out.println("Random Number= "+(list.get(i)));
- }
- }
- }
- }
Output:
- Random Number= 7
- Random Number= 3
- Random Number= 2
- Random Number= 9
Program #5: Java Example program to generate 10 random numbers. random number generator that doesn't repeat java
- package com.randomnumbergenerator;
- public class RandomNumber {
- /**
- * @Website: www.instanceofjava.com
- * @category: how to generate 10 random numbers in java within range
- */
- public static final int SET_SIZE_REQUIRED = 10;
- public static final int NUMBER_RANGE = 100;
- public static void main(String[] args) {
- Random random = new Random();
- Set set = new HashSet<Integer>(SET_SIZE_REQUIRED);
- while(set.size()< SET_SIZE_REQUIRED) {
- while (set.add(random.nextInt(NUMBER_RANGE)) != true)
- ;
- }
- assert set.size() == SET_SIZE_REQUIRED;
- System.out.println(set);
- }
- }
Output:
- [48, 99, 24, 58, 44, 77, 14, 95, 31, 79]