Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java (字符串[]参数)是什么意思?_Java_Main - Fatal编程技术网

Java (字符串[]参数)是什么意思?

Java (字符串[]参数)是什么意思?,java,main,Java,Main,我将以下代码添加到我用Java创建的新类中: public static void main(String[] arguments) { 我理解public、static和void的含义,但是(String[]arguments)的含义是什么?这意味着函数需要一个字符串数组。String[]arguments是java程序的运行时参数数组。如果需要,您可以将参数传递给java程序,如下所示: java yourJavaMainClass args1 args2 在java代码中,您可以通过简

我将以下代码添加到我用Java创建的新类中:

public static void main(String[] arguments) {

我理解public、static和void的含义,但是(
String[]arguments
)的含义是什么?

这意味着函数需要一个字符串数组。

String[]arguments
是java程序的运行时参数数组。如果需要,您可以将参数传递给java程序,如下所示:

java yourJavaMainClass args1 args2
在java代码中,您可以通过简单地迭代该数组来使用提供的参数

arguments[0] // this should give you the args1
如果您的程序是通过一个控制台运行的,则
main()
方法可以获取
String
类型的输入参数

java YourClass arg1 arg2
现在,在
main()

for (arg : arguments)
    System.out.println(arg);
应该打印出来

arg1
arg2
a + b = 2 + 3 = 5
演示:

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
它应该打印出来

arg1
arg2
a + b = 2 + 3 = 5

使用命令行运行程序,提供的输入存储在obj数组中。因此,如果您以
java类名a1a2
的形式运行该类,那么对象数组将以a1和a2作为元素

或者,如果您使用的是EclipseIDE,请转到run/debug配置并按图所示操作

这些是主功能所需的参数

String[]参数是字符串对象的java数组。这意味着主函数需要一个字符串数组。此字符串数组通常保存从命令行运行程序时传入的所有命令行参数参数

从命令行执行

 java className stringOne stringTwo
在节目中 注:表示在。。因此,请将此理解为参数中的stringObject

for (stringObject : arguments) {
     System.out.println(stringObject);
}
或者,如果您知道参数中字符串的确切数量是2,那么

System.out.println(arguments[0]);
System.out.println(arguments[1]);
输出->

斯特林格内

第二条

希望这有帮助!祝您学习Java好运,它的字面意思是“一个数组,数组中的每个元素至少是一个字符串,我们将命名为参数”

在该行其余部分的上下文中,方法
main
将“一个数组,其中每个元素至少是一个字符串,我们将其命名为参数”


由于这是
publicstaticvoidmain(String[]arguments)
方法调用,因此有一个特殊的正常参数传递“规则异常”。看起来像这样的方法是少数几个没有在程序的其他部分定义输入的方法之一。相反,Java虚拟机根据您提供给JVM的命令行参数将输入构造到该方法中。

它是您可以在执行过程中传递给程序的参数数组。例:

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

我建议阅读。请看@dimo414,这不是同一个问题——它是问为什么,这是问什么。问题已经回答了。我知道它是用倒逗号表示的,但在谈论Java时,特别是对初学者来说,英语中的“exception”一词仍然是这样:)@anotherdave根据你的建议,我修改了工作,希望能更清晰。在你的演示中,我建议先验证
args
的长度。@PaulBellora更新。谢谢。String是类名,args是可以更改的变量。String[]args表示字符串类型数组。它实际上是将参数传递给main方法。