如何设置将存储我的命令行参数的数组的大小?

Posted

技术标签:

【中文标题】如何设置将存储我的命令行参数的数组的大小?【英文标题】:How do I set the size of the array my command line arguments will be stored in? 【发布时间】:2017-08-02 01:08:33 【问题描述】:

我基本上想将我的用户输入存储在一个大小为 3 的数组中。当我似乎将 3 放在 main (String [3] args) 中时,它似乎并没有达到我想要的效果。我该如何解决这个问题?

如果有帮助,练习要求我:用以下代码填写 Ex4 类的类方法 main 创建一个包含字符串的大小为 3 的数组,并用命令行参数填充它。

谢谢。

 public class Ex4 
 public static void main(String[] args) 
 
 if (args.length == 1)
 
     System.out.println(args[0]);
 

 else if (args.length == 2 || args.length == 3)
 
     System.out.println(args[0]);
     System.out.println(args[1]);
 

 else 
    System.out.println("Too many arguments");


【问题讨论】:

实现这一目标的唯一方法是使用 if 语句检查 args 的长度,如果长度 >= 3 则继续执行,否则打印错误。你不能有一个只有在你传入三个参数时才有效的 main 方法——java 不会处理这些错误,但你的程序应该 【参考方案1】:

您无法控制传递给main 方法的数组的大小。它将自动分配传递给程序的参数的大小。

【讨论】:

【参考方案2】:

你把它倒过来了。

您通过启动 JVM 时传递的参数数量隐式定义该数组的大小。

在运行时,在您的 Java 代码中,您只能检查该数组的实际长度。例如,向用户提供一条错误消息,告诉他所需的参数数量及其含义。

【讨论】:

以上是关于如何设置将存储我的命令行参数的数组的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何将值附加到命令行参数数组?

gtest命令行测试案例

从命令行和存储中读取可更改的行文件

无法弄清楚如何正确存储命令行参数[关闭]

main() 如何接收命令行参数?

C++ 如何将命令行参数转换为数组?