有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中生成固定长度的随机二进制字符串

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

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

共 (1) 个答案

  1. # 1 楼答案

    如果您想要一个带有0/1的字符串,那么它不是二进制的(因为该字符串使用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位,然后是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;
    }