Вроде все работает, тестил много раз, все пароли корректные, но валидатор не принимает.
package com.javarush.task.task32.task3204;
import java.beans.PropertyEditorSupport;
import java.io.*;
import java.util.Random;
/*
Генератор паролей
*/
public class Solution {
public static void main(String[] args) {
ByteArrayOutputStream password = getPassword();
System.out.println(password.toString());
}
public static ByteArrayOutputStream getPassword() {
String password = pass();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try (InputStream inputStream = new ByteArrayInputStream(password.getBytes());
) {
while (inputStream.available() > 0) {
int data = inputStream.read();
outputStream.write(data);
}
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return outputStream;
}
public static String pass() {
String password = "";
Random random = new Random();
StringBuilder sb = new StringBuilder();
do {
for (int i = 1; i < 9; i++) {
char c = (char) (random.nextInt(26) + 97);
char C = (char) (random.nextInt(26) + 65);
char digit = (char) (random.nextInt(10) + 48);
switch (random.nextInt(3)) {
case 0:
sb.append(c);
break;
case 1:
sb.append(C);
break;
case 2:
sb.append(digit);
break;
}
}
password = sb.toString();
} while (password.matches("\\d") && password.matches("[A-Z]") && password.matches("[a-z]"));
return password;
}
}