How to generate an N-digit integer random number in Java

1 Answer

0 votes
import java.util.Random;

public class GenerateNDigitNumber {

    public static long generateNDigitNumber(int n) {
        if (n < 1) {
            throw new IllegalArgumentException("n must be a positive integer (>= 1).");
        }

        Random random = new Random();
        
        long lowerBound = (n > 1) ? (long) Math.pow(10, n - 1) : 0;
        long upperBound = (long) Math.pow(10, n) - 1;

        long range = upperBound - lowerBound + 1;
        long r = (Math.abs(random.nextLong()) % range) + lowerBound;

        return r;
    }

    public static void main(String[] args) {
        System.out.println(generateNDigitNumber(1));
        System.out.println(generateNDigitNumber(4));
        System.out.println(generateNDigitNumber(10));
    }
}


     
/*
run:
    
2
3584
7776729878
  
*/

 



answered Nov 27, 2025 by avibootz
edited Nov 27, 2025 by avibootz
...