Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays - Fatal编程技术网

具有特殊要求的Java过程生成器

具有特殊要求的Java过程生成器,java,arrays,Java,Arrays,我只需要一个有特殊要求的密码生成器。 我做了这个密码。它工作得很好,但是如何从这个字符串中只提取2个特殊字符-只有2位数字-只有3个小写字符-只有3个大写字符 private static void passGenerator(){ int length = 8; String symbol = "-/.^&*_!@%=+>)"; String cap_letter = "ABCDEFGHIJKLMNOPQ

我只需要一个有特殊要求的密码生成器。 我做了这个密码。它工作得很好,但是如何从这个字符串中只提取2个特殊字符-只有2位数字-只有3个小写字符-只有3个大写字符

  private static void passGenerator(){
            int length = 8;
            String symbol = "-/.^&*_!@%=+>)";
            String cap_letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            String small_letter = "abcdefghijklmnopqrstuvwxyz";
            String numbers = "0123456789";
            String finalString = cap_letter + small_letter +
                    numbers + symbol;
            Random random = new Random();
            char[] password = new char[length];
            for (int i = 0; i < length; i++)
            {
                password[i] = finalString.charAt(random.nextInt(finalString.length()));

            }
            System.out.println(password);

        }
private static void passGenerator(){
整数长度=8;
字符串符号=“-/.^&*.@%=+>)”;
字符串cap_letter=“abcdefghijklmnopqrstuvxyz”;
字符串小写字母=“abcdefghijklmnopqrstuvwxyz”;
字符串编号=“0123456789”;
字符串finalString=大写字母+小写字母+
数字+符号;
随机=新随机();
字符[]密码=新字符[长度];
for(int i=0;i
您可以通过以下方式尝试此库。有一些有用的方法可以按大小写不同的字符将字符串拆分为数组(a3将是a,3)

您可以通过以下方式尝试此库。有一些有用的方法可以将字符串拆分为按不同大小写的字符数组(a3将是a,3)

我将首先按特定顺序生成密码并将其存储在临时变量中,如下所示:

{ special1, special2, digit1, digit2, lower1, lower2, lower3, upper1, upper2, upper3}
这可能需要硬编码


接下来,我将创建一个新的密码变量,然后逐个选择一个字符并将其添加到新变量中。通过随机生成一个数字来实现这一点[0,temp.length)。然后,将该索引处的字符复制到新密码中未填充的最低位置,将其从temp中删除,并将所有剩余字符复制到一个新的temp数组中,即一个较小的元素。重复此操作,直到temp数组大小为零。

我将首先按特定顺序生成密码,并将其存储在一个临时变量中,例如l例如:

{ special1, special2, digit1, digit2, lower1, lower2, lower3, upper1, upper2, upper3}
这可能需要硬编码

接下来,我将创建一个新的密码变量,然后逐个选择一个字符并将其添加到新变量中[0,temp.length)。然后,将该索引处的字符复制到新密码中未填充的最低位置,将其从temp中删除,并将所有剩余字符复制到一个新的temp数组中,即一个较小的元素。重复此操作,直到temp数组大小为零