java - 使用 String[] args 作为用户输入,如果未给出输入则设置值

标签 java args

如果程序依赖命令行参数作为用户输入,例如询问要订购的衬衫数量、衬衫尺寸和颜色选择。我知道这些值将存储在 args[0]args[1]args[2] 中。但是,如果我希望按顺序接收这些值,我将如何管理用户未给出一个或多个参数的情况。就像如果没有给出要订购的衬衫数量一样,有没有办法可以将该值初始化为默认值 1?

最佳答案

命令行参数的灵活性非常小:环境将它们作为 String[] 数组传递给您,这意味着各个参数没有名称,只有索引。

您需要决定如何处理缺少一个或多个命令行参数的情况,但请记住,不可能“跳过”中间的参数:每当省略一个参数时,它始终是尾随参数。例如,如果用户使用参数 XXL GREEN 调用您的程序,这些参数将被放置在 args[0]args[1] 中,而args[2] 将会丢失;参数不会放置在 args[1]args[2] 中。

一个简单的选择是将指定少于三个参数的情况视为错误。如果这不够灵活,您可以单独解析参数,并尝试推断它们的“含义”。例如,如果您看到 "S""M""L""XL",或 “XXL” 在任何位置,您的程序可能会将其视为大小的指示。

关于java - 使用 String[] args 作为用户输入,如果未给出输入则设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413970/

相关文章:

php - 检查YouTube用户是否存在PHP

java - 使用以数字开头的字符串来显示那么多字符的子字符串

java - 将对象列表转换为 Long 列表

java - 使用 ReentrantLock 避免死锁

python - 如何在python中将所有参数转换为字典

c++ - 将结构内存分配给多线程的参数

java - 在 Mockito 中有什么方法可以设置规则以在调用特定对象类型的属性时返回值?

java - 未知变量或字段 imageURL

ruby *args 语法错误

linux - 将参数传递并解析到正在运行/在线的 systemd 守护进程