Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成与用户输入长度相同的数字_Java - Fatal编程技术网

Java 生成与用户输入长度相同的数字

Java 生成与用户输入长度相同的数字,java,Java,我不知道这个题目是否适合我要问的问题 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)); } String input=scan.nextLine(); 对于(i

我不知道这个题目是否适合我要问的问题

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));
 }
String input=scan.nextLine();

对于(int ip=0;ip您可以使用循环并检查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)); 
    }
Scanner scan=新的扫描仪(System.in);
字符串输入=scan.nextLine();
for(int ip=0;ip Math.pow(2,input.length()))
{
继续;
}
System.out.println(Integer.toBinaryString(n));
}

rg.nextInt(5),因此它将给出从0到4的随机值,如果您将其转换为二进制,您将获得最多3位数字。您可以在开始时附加0。我的问题是..如果用户输入8个字符怎么办?随机生成器也必须打印出8个字符
// 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;
    }