top | item 6533269

Java Challenge

9 points| 6ren | 12 years ago |kittybyte.com | reply

9 comments

order
[+] vladimirralev|12 years ago|reply
Stuck at the combos with this one:

  void combos(String letters) {
      addAnswer(letters);addAnswer("");
      for(int q=1;q<letters.length();q++) {
          combos(letters.substring(q));
          combos(letters.substring(0,q));
      }
  }

It says it's no good, but it doesn't say why :(
[+] 6ren|12 years ago|reply
Mouse over the text "Returned the wrong result" at the bottom to see the test results. Move mouse right to view other test results. The background colour of the text indicates fail/pass, murky brown/green vs solid green. (Perhaps red would be better a better indicator for fail.)

For yours, there are 5 tests, and your code passes one (test number 3).

[+] macowar|12 years ago|reply
Just try and compile this simple program:

> println("System");

It gives this error: "At line undefined, the submission failed to compile with the error: Error: Sorry, but you may not use the keyword 'System'"

This tool has a list of blacklisted words that can not appear in your source code.

[+] perimo|12 years ago|reply
Shameless plug: this seems like a good application for Doppio: https://github.com/int3/doppio

The whole JVM lives in the browser, so you don't need to rely on hacks to "sanitize" user programs.

[+] kittybyte|12 years ago|reply
looks really cool, but it seems very slow?
[+] TeeWEE|12 years ago|reply
Challenge accepted!

    \u0052untime r =
    \u0052untime.\u0067\u0065\u0074\u0052untime();
    //println(r.availableProc\u0065ssors() +", " + r.freeMemory());
    //r.exit(1);
    //r.halt(1);
[+] TeeWEE|12 years ago|reply
Ah i still cant get his server down:

    try {
        Cl\u0061ssLoader loader =       Thr\u0065ad.currentThread().getContextCl\u0061ssLoader();           
        Cl\u0061ss cls = loader.getParent().loadCl\u0061ss("java.lang.Sys"+"tem");
        loader.getParent().loadCl\u0061ss("java.lang.reflect.M"+"ethod");
        java.lang.reflect.M\u0065thod m = cls.getM\u0065thod("e"+"xit", int.class);
        m.invok\u0065(Integer.valueOf(1));
        println(m);
    } catch(Exception e) {
        print(e);
    }
[+] chromaton|12 years ago|reply
Other banned strings include "forName", "Class" (uppercase only), and "Method".
[+] aeurielesn|12 years ago|reply
Fishy. If you are trying to prove a point there are definitely better ways to do it.