„hello world” mal anders

6. März 2013


 

Auf stackoverflow.com schreibt Benutzer abcXYZ:

I came across this piece of code, and found it rather interesting. The following print statement would print „hello world“. Could anyone explain this?


public static void main(String[] argv) {
System.out.println(randomString(-229985452) + " " + randomString(-147909649));
}
public static String randomString(int i) {
Random ran = new Random(i);
StringBuilder sb = new StringBuilder();
while (true) {
int k = ran.nextInt(27);
if (k == 0)
break;
sb.append((char)('`' + k));
}
return sb.toString();
}

In den Antworten gibt auch gleich eine informationstheoretische Erklärung, die nahelegt, dass es mit „Hello, World“ vermutlich nicht funktioniert hätte (von Clemens gefunden).