Не принимается ничего кроме первого пункта
package com.javarush.task.task32.task3204;
import java.io.*;
import java.util.*;
/*
Генератор паролей
*/
public class Solution {
public static void main(String[] args) throws IOException{
ByteArrayOutputStream password = getPassword();
System.out.println(password.toString());
}
public static ByteArrayOutputStream getPassword() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] bytes = new byte[8];
List<String> upWords = new ArrayList<>();
List<String> downWords = new ArrayList<>();
List<String> numbers = new ArrayList<>();
for (int i = 0; i < 8; ) {
byte b = (byte) (Math.random() * 127);
char ch = (char) b;
String upWord = "", downWord = "", number = "";
if (!(ch == '.')) {
upWord = String.valueOf(ch).replaceAll("[A-Z]", ".");
if (upWord.equals("."))
upWords.add(upWord);
downWord = String.valueOf(ch).replaceAll("[a-z]", ".");
if (downWord.equals("."))
downWords.add(downWord);
number = String.valueOf(ch).replaceAll("\\d", ".");
if (number.equals("."))
numbers.add(number);
}
if (upWord.equals(".") || number.equals(".") || downWord.equals(".")) {
bytes[i] = b;
i++;
}
}
if(downWords.size() > 0 && upWords.size() > 0 && numbers.size() > 0)
baos.write(bytes);
return baos;
}
}