我将以下代码添加到我用Java创建的新类中:
public static void main(String[] arguments) {
我理解public、static和void的含义,但(String[]参数
)的含义是什么?
这意味着该函数需要一个字符串数组。
它的字面意思是“一个数组,其中的每个元素至少是一个字符串,我们称之为参数”。
在该行其余部分的上下文中,方法< code>main将“一个数组,其中的每个元素至少是一个字符串,我们将它命名为参数”作为输入
由于这是公共静态无效主(字符串[]参数)
方法调用,所以正常参数传递有一个特殊的“规则例外”。看起来像这样的方法是程序其他部分没有定义输入的极少数情况之一。相反,Java虚拟机根据您给JVM的命令行参数将输入构造到这个方法中。
如果您的程序是通过控制台运行的,那么您的< code>main()方法可以接受< code>String类型的输入参数
java YourClass arg1 arg2
现在,在< code>main()中,如果迭代< code>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
问题内容: 我在阅读$ _SESSION [‘username’]进入SQL查询之前是否需要转义? 它说:“无论源如何,都需要对传递给sql查询的每个字符串进行转义”。现在我知道类似这样的事情是非常基本的。Google搜索显示超过20,000个结果。仅Stackoverflow就有20页的结果,但是没有人实际解释转义字符串是什么或如何转义。只是假设。你能帮助我吗?我想学习,因为我一如既往地使用PH
问题内容: 我在网上找到了这段代码,其中有一部分我不理解。对于doInBackground方法,传递的参数为。有人可以告诉我这是什么意思吗?那是什么 问题答案: doInBackground(String… params) // params represents a vararg. new AsyncHttpPost().execute(s1,s2,s3); // pass strings to
什么是at在这组java代码中是什么意思?我试过搜索,但找不到任何解释。有人知道,请给我解释一下。非常感谢你。 BatchFileController.java
问题内容: 如果我从命令行运行,则截至2017年8月24日的最后一项是 上面在软件包版本中反映的构建字符串的含义是什么?这是软件包所需的python interpereter的最低版本吗? 问题答案: 该程序包的构建字符串()的第一部分告诉您该程序包可用于的Python解释器的确切版本。最有可能的,也有其他包的Python(其他版本,等)。第二部分(下划线之后)告诉您此软件包的内部版本号。当构建配
问题内容: 我找不到有关VM参数的文档。似乎有必要在Mac上通过LWJGL运行JOGL。这是什么意思?似乎某些进程想要线程0。这正确吗? 请注意:我的主类中有一个方法。它似乎没有覆盖任何内容,并且我没有实现runnable。 我在此处运行的示例源代码:http : //www.lwjgl.org/guide 问题答案: 从Java 1.7.0_u4开始,此选项记录在Mac OSX平台上。 该选项使
Attachtoroot:膨胀的层次结构是否应该附加到根参数?如果为false,则root仅用于为XML中的root视图创建正确的LayoutParams子类。 有人能更详细地解释一下吗,特别是根视图是什么,并展示一个和值之间行为变化的示例吗?