可以主函数以字符串而不是字符串[]



public static void main(String[] args)我通常知道主要函数在一个参数args中包含提供的命令行参数作为字符串对象的数组。

  • 除了String[] args以外,我还没有看到Main的任何其他参数。为什么不为StringInteger的数组?
  • 如果有一种方法来指定main函数的输入,请提供一个示例。

回答您的问题: no

详细信息:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

Java命令启动了Java应用程序。它通过启动Java运行时环境,加载指定类并调用该类的 MAIN 方法来做到这一点。

该方法必须被声明公开和静态,它不得返回任何值,并且必须接受字符串数组为参数。该方法声明具有以下形式:

公共静态void main(string [] args(

您已经知道,这是 main 的方法定义,而您无法更改它。但是,您可以将args数组中的元素转换为任何其他原始类型,因为它以有效的格式将其转换为<<<<<<<<<的左侧的有效格式>em>分配运算符。

有多种方法可以实现这一目标,其中之一是:

int input = Integer.valueOf(args[0]);

no,您的主方法不能仅采用字符串,主方法必须使用数组语法或varagrs语法接受字符串数组,请阅读以下以下JSL§12.1.4。调用test.main

最后,在完成初始化以进行课堂测试(在 其他结果负载,链接和初始化可能具有 发生了(,调用了测试主管。

该方法主要必须被声明为公共,静态和空隙。它必须 指定正式参数(§8.4.1(其声明类型是数组 细绳。因此,以下任何一个声明都可以接受

public static void main(String[] args)

public static void main(String... args)

因此,您可以选择任何一种语法,而不仅仅是字符串。

仅对于您的信息,您就可以创建一个诸如public static void main(String args)的方法,但不会被视为JVM看起来为起点的类的"主要"方法。因此,如果您想在课堂中使用"主要"方法,则必须从上述任何一种语法中进行选择。

为什么不一个字符串或整数数组?

不是整数数组,因为该数组只能涵盖可能的参数的一部分(您可以解析它们并获得一个整数,但是您还需要检查它们是否是整数,否则您会得到NumberFormateXception(。p>不是字符串而不是字符串数组,因为最好将命令参数分开,而不是将它们放在一个大字符串中,实际上,很多时候您需要分别处理命令参数。

没有其他签名,即VM将识别为main方法。只有一个主要签名是public static void main(String[] args)

我没有看到主参数以外的任何参数[] args。为什么不一个字符串或整数数组?

是的,您可以将任何StringInteger作为参数,但这将成为不同的函数main()方法,而不是Java使用的方法来启动您的程序。汇编后,Java搜索public static void main(String[] args){}的开始。如果更改参数,则您的程序根本不会运行。现在使用数组将仅涵盖数组可以允许的特定类型的值,例如int[]只能存储int值,类似地,String只能具有一个值,而您可能需要具有多个参数。

如果有办法指定主函数的输入,请提供一个示例。

是的,有多种方法可以使用命令行(用于Windows(和终端(For Linux/Unix(传递参数。

  1. 使用javac Filename.java
  2. 编译Java程序
  3. 运行Java程序以及参数java FileName param1 param2 param3(param1,param2,param3是要通过的参数(。

相关内容

  • 没有找到相关文章

最新更新