Генерирует ведь верно пароли, растолкуйте, пожалуйста!
package com.javarush.task.task32.task3204;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.stream.Stream;
/*
Генератор паролей
*/
public class Solution {
static ArrayList<Integer> allContains = new ArrayList<>();
public static void main(String[] args) {
ByteArrayOutputStream password = getPassword();
System.out.println(password.toString());
}
public static ByteArrayOutputStream getPassword() {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while (baos.size() != 8) {
int randomToThree = (int) (Math.random()*3);
if (randomToThree == 0) {
baos.write((int) (48 + Math.random()*10));
allContains.add(randomToThree);
}
if (randomToThree == 1) {
baos.write((int) (65 + Math.random()*26));
allContains.add(randomToThree);
}
if (randomToThree == 2) {
baos.write((int) (97 + Math.random()*26));
allContains.add(randomToThree);
}
}
while ((allContains.contains(0) && allContains.contains(1) && allContains.contains(2)) == false) {
Solution.allContains.clear();
getPassword();
}
return baos;
}
}