यादृच्छिक स्ट्रिंग उत्पन्न करने वाला कोड हमेशा "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