arkiver
arkiver

Reputation: 485

Input parameters in java

I was wondering why do Java programs take parameters only in the form on Strings from the command line when they are run? I have read that if the parameters are declared as int, it still converts the int into String. Why does this happen? And is there any way to accept only int values from the command line when running a java program?

Upvotes: 3

Views: 9468

Answers (3)

twain249
twain249

Reputation: 5706

Strings are more versatile as they can hold any value and can even be an representative as an int. If you want to pass an int in the command line you can convert the string to and int yourself.

int val = Integer.parseInt(arg[0]);

The valid signature for the main method is

public static void main(String[] args)

no other argument structure will be seen as a main function.

Upvotes: 3

Dmitry Zaytsev
Dmitry Zaytsev

Reputation: 23952

You passing chars from command line anyway (just because there is no "integers" on keyboard). So, you need to convert this char arrays (which are wrapped into String) into integers.

Upvotes: 0

NPE
NPE

Reputation: 500237

I have read that if the parameters are declared as int, it still converts the int into String.

You have read that incorrectly. If the main() method takes anything other String[] args, it won't be recognized as a valid entry point by the JVM.

If you wish to take integer arguments, your main method still has to accept String[] args, and you have to perform the conversion yourself.

Upvotes: 1

Related Questions