If I run this code in c#, The output generated is Two random strings which changes for every execution. But the Java code always print 'Hello World'.
static void Main(string[] args)
{
Console.WriteLine(randomString(-229985452) + " " + randomString(-147909649));
Console.ReadLine();
}
public static String randomString(int i)
{
Random ran = new Random(i);
StringBuilder sb = new StringBuilder();
for (int n = 0; ; n++)
{
int k = ran.Next(27);
if (k == 0)
break;
sb.Append((char)('`' + k));
}
return sb.ToString();
}
But the same code in Java prints 'Hello World'. Why these languages act differently?
The Java code
System.out.println(randomString(-229985452) + " " + randomString(-147909649));
Its Method
public static String randomString(int i)
{
Random ran = new Random(i);
StringBuilder sb = new StringBuilder();
for (int n = 0; ; n++)
{
int k = ran.nextInt(27);
if (k == 0)
break;
sb.append((char)('`' + k));
}
return sb.toString();
}