You want to know why we write (String args) in every main method?
most programs you don't just tell to "start". you tell them to start, and give them additional parameters on HOW to start. think about things like copy or cp you've probably used. you've probably done this:
copy file.a file.b
"copy" is the program, "file.a" is a parameter, and so is "file.b"
sure, the program could have been written so that you just say "copy". then it prompts you for "source file??: " and waits for you to type something in. then it says "destination??: " and waits for you to type something in...
but everybody knows you need both these arguments. so, a way was written to parse the whole line you type in, and figure the parts out. the first "word" is the program to run. the rest of the words are arguments to that program.
Java does this by taking everything AFTER the name of the program, and puts them into a string array. if i type