我将以下代码添加到我用Java创建的新类中:
public static void main(String[] arguments) {
我理解公共,静态和虚空意味着什么,但(String[] arguments
)是什么意思?
答案 0 :(得分:10)
如果您的程序是通过像
这样的控制台运行,那么main()
方法可以输入String
类型的输入参数
java YourClass arg1 arg2
现在,如果你像main()
一样迭代
String []
内
for (arg : arguments)
System.out.println(arg);
它应该打印
arg1
arg2
演示:
public class AddTwoNumbers {
public static void main(String[] args) {
if(args.length == 2) {
try {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.println("a + b = " + a + " + " + b + " = "+ (a + b));
} catch (NumberFormatException e) {
System.err.println("Invalid Input: Please enter numbers.");
}
} else {
System.err.println("Missing Input: Please enter TWO numbers.");
}
}
}
您可以在控制台上以
运行此功能java AddTwoNumbers 2 3
它应该打印
a + b = 2 + 3 = 5
答案 1 :(得分:2)
它的字面意思是“一个数组,其中的每个元素至少都是一个String,我们将命名参数”。
在该行的其余部分的上下文中,方法main
作为输入,“一个数组,其中的每个元素至少是一个String,我们将命名参数”
由于这是public static void main(String[] arguments)
方法调用,因此正常参数传递存在特殊的“规则例外”。当您的输入未在程序的其他部分中定义时,看起来像这样的方法是很少次之一。相反, Java虚拟机从您为JVM提供的命令行参数构造此方法的输入。
答案 2 :(得分:1)
这意味着该函数需要一个字符串数组。
答案 3 :(得分:1)
String[] arguments
是java程序的运行时参数数组。如果需要,您可以将arguemnts传递给您的java程序,如下所示:
java yourJavaMainClass args1 args2
在你的java代码中,你可以使用简单地迭代这个数组提供的参数。
arguments[0] // this should give you the args1
答案 4 :(得分:1)
这些是主要功能所期望的参数。
String [] arguments是一个String对象的java数组。这意味着main函数需要一个字符串数组。这个字符串数组通常包含从命令行运行程序时传入的所有命令行参数参数。
从命令行
java className stringOne stringTwo
在程序中 注意:意思是..所以请参阅参数
中的stringObjectfor (stringObject : arguments) {
System.out.println(stringObject);
}
或者,如果您知道参数中的字符串的确切数量是两个
System.out.println(arguments[0]);
System.out.println(arguments[1]);
输出 - >
stringOne
stringTwo
希望这有帮助!祝学习Java好运
答案 5 :(得分:1)
这是您可以在执行期间传递给程序的参数数组。例如:
java YourClass param1 100 X
在你的运行时,你将拥有这个数组
System.out.println(args.length); //prints 3
System.out.println(args[0]); //prints param1
System.out.println(args[1]); //prints 100
System.out.println(args[2]); //prints X
答案 6 :(得分:0)
使用命令行运行程序,其中提供的输入存储在obj数组中。因此,如果您将类作为java className a1 a2
运行,则对象数组将具有a1和a2作为元素。
或者,如果您正在使用eclipse IDE,请转至运行/调试配置并执行如下操作