Avatar ·

为什么生成随机字符串的代码总是打印"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