Я пытаюсь генерировать бессмысленные слова без использования каких-либо функций Random (). Я понял, что могу использовать текущие часы или координаты мыши. И я выбрал использование текущих часов. Вот код, который я написал.
private final char[] charray = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
private char getRandomCharacter(){
return charray[random(charray.length)];
}
private int random(int value){
value =(int) System.nanoTime()% 52;
return value;
}
protected Randomizer(){
boolean running = true;
int count = 0;
int max = 5;
while(running){
StringBuilder sb = new StringBuilder();
int size = random(25) + random(25);
for (int i = 0; i < size; i++) {
sb.append(getRandomCharacter());
}
System.out.println("Random Line : " + sb.toString());
if (count++ == max) {
running = false;
System.out.println("All of them are random.");
}
}
}
public static void main(String[] args) {
new Randomizer();
}
Я ожидал, что результат будет:
axdlMkjiIfjcmqQopv и т. Д.
но я получаю что-то вроде этого:
ZNNrrrUUUUxxxxbbbhhhLLLLoooRRRRRvvvYYYYBBBBfffI или
JmmmPPKKKKnnnnRRBeeHHHHlllllOOOOrrrVVVVV
Почему слишком много непрерывного. nanoTime
слишком медленный для этого или что? Я использовал currentTimeMillis до этого, и это было намного хуже. Я не мог понять и не мог найти источник информации о том, как производить выборку с текущими часами.