The problem is, because you are providing only one command line argument ("1 true 34 hi" is considered a single argument due to double quotes) and in your code, you are trying to access args, and you are getting ArrayIndexOutOfBoundsException.
Are you sure that there are double quotes while running the code, and that there was only one argument?
is it like double quotes ESCAPES the space character , due to which javac behaves as if it is just a single argument ? is this related to javac or command line feature of windows , just like in bash we use ""(double quotes), ' '(single quotes) or ``(backquotes) for escaping and executing commands. ?