简体   繁体   中英

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?

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.

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM