我不知道这个标题是否适合我要问的问题。
String input = scan.nextLine();
for(int ip=0; ip<=input.length(); ip++)
{
Random rg = new Random();
int n = rg.nextInt(ip=input.length());
System.out.println(Integer.toBinaryString(n));
}
从上面的代码中,我提示用户输入任意数量的字符。使用for循环获取输入的长度,生成的随机二进制数字的长度是不同的。如何编辑让随机生成器打印出与用户输入相同的长度?示例如图所示: 我的意见:99999 假设输出:00110 我的输出:11
答案 0 :(得分:0)
你可以使用循环并检查n的值,如果它的二进制文件具有相同的长度然后打印。代码如下:
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
for(int ip=0; ip<=input.length(); ip++){
Random rg = new Random();
int n = 0;
while((n = rg.nextInt(ip=input.length()*input.length())) < Math.pow(2, input.length()-1)
&& (n = rg.nextInt(ip=input.length()*input.length())) > Math.pow(2, input.length()))
{
continue;
}
System.out.println(Integer.toBinaryString(n));
}
答案 1 :(得分:0)
// note that StringUtils in org.apache.commons.lang3.StringUtils
private static final String getRandomBinaryNumber() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter input: ");
String input = scanner.next();
System.out.println();
int len = input.length();
System.out.println("Input length: " + len);
Random rg = new Random();
Integer randomInt = rg.nextInt((int) Math.pow(2, len));
String binaryString = Integer.toBinaryString(randomInt);
final String result = StringUtils.leftPad(binaryString, len, "0");
System.out.println("Random output: " + result);
return result;
}