生成Java

时间:2016-05-19 16:19:09

标签: java random binary string-length

我有下面的代码,我想要的是创建一个固定长度的随机二进制(例如4位)。我想要使​​用4位。我想要它,因为之后我需要将它存储在一个字节数组中(例如byte [] [] myArray = new byte [2] [0])

public String Random(){
    Random rg = new Random();
    int n = rg.nextInt();
    return Integer.toBinaryString(n);   
}

1 个答案:

答案 0 :(得分:1)

如果你想要一个带有0 / 1的字符串,那么它不是二进制文件(因为String使用2个字节来表示每个字符)

public String generateRandom{
   String response = "";
   for(int i=0;i<4;i++){
      if(Math.random()>0.5{
         response +="1";
      } else {
         response += "0";
      }
   }
   return response;
}

编辑:

如果您需要位,则应使用BitSet。但是,最小的位集是0位,下一个最小的位集大小是64位,然后是它的倍数。

public Bitset generateRandom{
   BitSet response = new BitSet();
    for (int i = 0; i < 4; i++) {
        if (Math.random() > 0.5) {
            bitSet.flip(i);
        }
    }
   return response;
}