(String[] arguments) 是啥意思? [复制]
Posted
技术标签:
【中文标题】(String[] arguments) 是啥意思? [复制]【英文标题】:What does (String[] arguments) mean? [duplicate](String[] arguments) 是什么意思? [复制] 【发布时间】:2013-07-13 17:44:52 【问题描述】:我将以下代码添加到我用 Java 创建的新类中:
public static void main(String[] arguments)
我了解 public、static 和 void 的含义,但 (String[] arguments
) 是什么意思?
【问题讨论】:
我推荐阅读Java Tutorials。 见docs.oracle.com Java Tutorial about Command-Line Arguments @dimo414 这不是同一个问题——它在问为什么,这是在问什么。 问题已经回答。 ***.com/questions/890966/… 【参考方案1】:如果您的程序通过控制台运行,您的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
【讨论】:
在您的演示中,我建议先验证args
的长度。
@PaulBellora 已更新。谢谢。【参考方案2】:
它的字面意思是“一个数组,其中的每个元素至少是一个字符串,我们将其命名为参数”。
在该行其余部分的上下文中,方法main
作为输入,“一个数组,其中的每个元素至少是一个字符串,我们将其命名为参数”
由于这是public static void main(String[] arguments)
方法调用,正常参数传递存在一个特殊的“规则例外”。当您的输入未在程序的其他部分中定义时,看起来像这样的方法是极少数之一。取而代之的是,Java 虚拟机根据您提供给 JVM 的命令行参数构造了该方法的输入。
【讨论】:
知道你用引号括起来了,但在谈论 Java 时,英语中的“异常”这个词仍然会用,尤其是对初学者来说:) @anotherdave 根据您的建议,我修改了工作,希望更清晰。【参考方案3】:这意味着该函数需要一个字符串数组。
【讨论】:
【参考方案4】:String[] arguments
是您的 java 程序运行时参数的数组。如果需要,您可以像这样将争论传递给您的 java 程序:
java yourJavaMainClass args1 args2
在您的 java 代码中,您可以使用通过简单地迭代此数组提供的参数。
arguments[0] // this should give you the args1
【讨论】:
【参考方案5】:这是您在执行期间可以传递给程序的参数数组。例如:
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
【讨论】:
String 是类名,args 是可以更改的变量。 String [] args 表示 String 类型的数组。它实际上是向 main 方法传递参数。【参考方案6】:这些是主函数期望的参数。
String [] arguments 是 String 对象的 java 数组。这意味着主函数需要一个字符串数组。这个字符串数组通常保存程序从命令行运行时传入的所有命令行参数参数。
从命令行
java className stringOne stringTwo
在程序中 注意:意思是 .. 所以在参数中阅读这个字符串对象
for (stringObject : arguments)
System.out.println(stringObject);
或者,如果您知道参数中字符串的确切数量是两个,那么
System.out.println(arguments[0]);
System.out.println(arguments[1]);
输出->
字符串一个
字符串二
希望这会有所帮助!祝你学习 Java 好运
【讨论】:
【参考方案7】:使用命令行运行程序,那里提供的输入存储在 obj 数组中。因此,如果您将类作为java className a1 a2
运行,那么对象数组将具有 a1 和 a2 作为元素。
或者,如果您使用的是 Eclipse IDE,请转到运行/调试配置并按照所示操作
【讨论】:
以上是关于(String[] arguments) 是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
通过 Selenium WebDriver 从 JavascriptExecutor 接口使用 executeScript 方法时,arguments[0] 和 arguments[1] 是啥意思?
我不知道我的错误是啥意思: NoReverseMatch at /sssss/ Reverse for '' with arguments '(9, 19)' and keyword argument