为什么生成随机字符串的代码总是打印"hello world"?
大家好!我是一名Java初学者,遇到了一个非常奇怪的行为。我写了一个简单的程序,生成随机字符串并检查它是否等于"hello world"。如果相等,就打印消息。但程序总是打印"hello world",尽管我预期这应该是罕见的情况。
代码如下:
```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