Por que o código que gera strings aleatórias sempre imprime "hello world"?
Olá a todos! Sou um desenvolvedor Java iniciante e me deparei com um comportamento muito estranho. Escrevi um programa simples que gera uma string aleatória e verifica se ela é igual a "hello world". Se for igual, imprime uma mensagem. Mas o programa sempre imprime "hello world", embora eu esperasse que isso fosse um caso raro.
Aqui está o código:
```java
import java.util.Random;
public class StrangeHelloWorld {
public static void main(String[] args) {
Random random = new Random();
String target = "hello world";
while (true) {
String randomString = generateRandomString(random, target.length());
if (randomString.equals(target)) {
System.out.println("hello world");
break;
}
}
}
static String generateRandomString(Random random, int length) {
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
char c = (char) (ran