Software Development

Weird Funny Java!

Sometimes we can do really weird and funny things with Java; Some other times we are just being creative!

Take a look at the following three examples and you will find out what I mean!

Have Fun!

Strine translator

Translating to Strine ;)
 

public static void main(String... args) {
        System.out.println("Hello World");
    }

    static {
        try {
            Field value = String.class.getDeclaredField("value");
            value.setAccessible(true);
            value.set("Hello World", value.get("G'Day Mate."));
        } catch (Exception e) {
            throw new AssertionError(e);
        }
    }

prints

G’Day Mate.

BTW: Strine is the Australian Dialect of English.

Randomly not so random

In a random sequence, all sequences are equally likely, even not so random ones.

Random random = new Random(441287210);
    for(int i=0;i<10;i++)
        System.out.print(random.nextInt(10)+" ");
    }

prints 1 1 1 1 1 1 1 1 1 1

and

Random random = new Random(-6732303926L);
    for(int i=0;i<10;i++)
        System.out.println(random.nextInt(10)+" ");
    }

prints 0 1 2 3 4 5 6 7 8 9

Lastly

public static void main(String ... args) {
    System.out.println(randomString(-229985452)+' '+randomString(-147909649));
}

public static String randomString(int seed) {
    Random rand = new Random(seed);
    StringBuilder sb = new StringBuilder();
    for(int i=0;;i++) {
        int n = rand.nextInt(27);
        if (n == 0) break;
        sb.append((char) ('`' + n));
    }
    return sb.toString();
}

prints hello world

Java plus

A confusing piece of code here for you to parse. ;)

int i = (byte) + (char) - (int) + (long) - 1;
System.out.println(i);

prints 1

Reference: Java plusRandomly not so random and Strine translator from our JCG partner Peter Lawrey at the Vanilla Java.

Related Articles:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
DP2010
DP2010
11 years ago

For the confusing piece of code, (long) puts a curse on the next character. It does it if you put “;” for the rest of the expression, too. Putting “+ 0” after (long) removes the curse. I don’t know why. Magic isn’t big on explanation.

apprentice
apprentice
11 years ago

Out of curiosity, did you brute-force to find the seed that’d produce “Hello, World”? Or is there an easier way to do that?

Johan
Johan
10 years ago

haha biggest noob programmer i ever seen

Stephen
Stephen
6 years ago

this is confusing, I don’t tske any iterest in programming, but I find it interesting

Stephen
Stephen
6 years ago
Reply to  Stephen

take*

Back to top button