import java.util.Random;
import java.util.Scanner;
public class RndInteger {
/**
* @param args
输入:随机数bit位的长度为n(解释:3bit位,则最大为111,最小为100;n bit位,则该数字二进制长度为n)
输出:返回该随机数
*/
public static void main(String[] args) {
int m;
System.out.print("请输入该随机数的bit位: ");
Scanner scan = new Scanner(System.in);
m = scan.nextInt();
System.out.println("随机产生的"+m+"bit位的数是: "+createRndInteger(m));
}
public static long createRndInteger(int n){
int max = 0,min = 0;
Random num = new Random();
for(int i=0;i<n;i++){
max += (int) Math.pow(2, i);
}
min = (int)Math.pow(2, n-1);
long Rannum = num.nextInt(max-min+1) + min;
return Rannum;
}
}
输出结果: