产生n位的随机数

来源:互联网 发布:粉底液推荐知乎 编辑:程序博客网 时间:2024/05/16 09:21
 随机生成一个n bit位的长整数。
            函数签名如下
    long createRndInteger(int n)
思路是先确定输入n位数的取值范围,然后用Math.pow()函数确定最小值,求最大值则是利用二进制和十进制的转换取得,最后利用java中的函数取得最终的值具体代码如下:
package com.wwz.c2;import java.util.Random;import java.util.Scanner;public class Ctwo {/** * @author ZHANGweiwei * 随机生成n bit位的整数 */public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);int n=in.nextInt();long value=createRndInteger(n);System.out.println(value);}public static long createRndInteger(int n){int min=(int)Math.pow(2, n-1);//生成二进制能表示的最小的值int max=0;for(int i=0;i<n;i++){max+=Math.pow(2, i);}//随机生成min-max之间的数Random random=new Random();int num=random.nextInt(max-min+1)+min;return num;}}


0 0
原创粉丝点击