Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java:创建一个可选的命令行参数

Java:创建一个可选的命令行参数
EN

Stack Overflow用户
提问于 2017-03-12 14:15:44
回答 1查看 5.3K关注 0票数 1

我正在编写一个程序,它应该接受一个必需的命令行参数和一个可选的命令行参数。第一个参数是要写入数据的输出文件的名称,第二个参数是用于计算要写入输出文件的数据的数字。如果用户不输入一个数字,那么它应该只使用默认值来计算数据。例如,如果用户输入命令行参数"Foo.csv 1024“,程序将使用1024计算数据并将其写入Foo.csv,但如果用户只使用命令行参数" Foo.csv”,则程序将使用默认值2048计算数据并将其写入Foo.csv。我正在使用Intellij创建/运行这个程序。我该怎么做?如有任何意见/建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-12 14:47:59

您的程序似乎很简单,因此解决方案对于这种特殊情况也很简单。您可以测试有多少参数被传递给程序,检查主函数的参数args:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void main(String[] args){...}

args是一个数组,它包含传递给程序的参数。因此,如果您的程序名为prog,并使用prog Foo.csv 1024运行它,那么args将拥有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
args[0] = "Foo.csv";
args[1] = "1024";

这样,您就可以知道哪些参数被传递给您的程序,通过执行args.length,您可以知道它们是多少。对于上面的示例,args.length=2,如果用户没有指定最后一个参数("1024"),那么您将在args中使用下面的args.length=1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
args[0] = "Foo.csv";

所以你的程序应该是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void main(String[] args){
//The default value you want
int number = 2048
if(args.length==2){
    number = Integer.parseInt(args[1]);
}
//'number' will have the number the user specified or the default value (2048) if the user didn't specify a number
}

要向程序提供参数,必须在控制台或某种终端上运行。使用IntelliJ (或任何其他IDE)也可以使用参数来运行程序,但是您可以在run中指定这些参数。

如果您希望对参数进行更复杂的处理,通常需要通过参数解析器来完成。这些库通常会带您讨论并帮助您阅读程序中的参数。除其他外,这些库通常支持可选参数、通过标志提供的参数、参数类型检查、为命令创建自动帮助页等。如果您的参数要求更复杂,或者您只想对您的程序进行专业接触,请考虑使用参数解析器:),对于java,我发现了一个特定的库:http://www.martiansoftware.com/jsap/doc/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42753849

复制
相关文章
Python安装和使用
点击 Customize installation进入一步(方便我们自定义安装路径)
Python知识大全
2020/02/12
6120
Python无法安装PyAudio
直接使用pip install pyaudio无法安装,需要先下载PyAudio-0.2.11-cp38-cp38-win_amd64.whl(Python3.8)
Marigold
2022/06/17
2.3K0
python MySQLdb安装和使用
MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:
py3study
2020/01/14
2.5K0
Python Requests库安装和使用
Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。
用户10002156
2023/08/07
1K0
Python Requests库安装和使用
pandas库如何安装_python无法安装库
如果你连续看了博主的各类Python的库引用,你会发现这都是套路!!! 先上正儿八经的流程,后面一句话总结一下这些库的安装套路。不知道安装库的你们用的什么操作? 请耐心看到最后哦!保证未来的安装一举成功!
全栈程序员站长
2022/11/10
2.1K0
pandas库如何安装_python无法安装库
CentOS使用minimal安装后,无法使用SCP
当使用minimal方式装完CentOS 6.3后,发现无法使用scp,默认情况下minimal很多软件都没有安装,导致使用的时候报错。错误如下:
EltonZheng
2021/01/26
1.1K0
使用Python和Chrome安装Selenium WebDriver
WebDriver是用于与实时Web浏览器进行交互的可编程界面。它使测试自动化能够打开浏览器,发送点击,键入键,刮擦文本并最终干净地退出浏览器。WebDriver界面是W3C建议书。WebDriver标准的最受欢迎的实现是Selenium WebDriver,它是免费和开放源代码。
用户7466307
2020/07/28
3.7K0
Python基础(三):PyCharm安装和使用
PyCharm是⼀种Python IDE(集成开发环境),带有⼀整套可以帮助⽤户在使⽤Python语⾔开发时提⾼其效率的⼯具,内部集成的功能如下:
Lansonli
2022/11/30
1.4K1
Python基础(三):PyCharm安装和使用
关于CentOS下python无法安装m
说明,我CentOS的python是2.7版本 easy_install MySQL-python 提示报错说少了mysql.c等相关文件。 处理方式很简单: yum install mysql-devel 然后重新 easy_install MySQL-python 成功了
py3study
2020/01/15
1.2K0
redis的安装和使用(python篇)
最近在项目中使用到了redis来存储数据,本文总结下redis的安装和python调用。
languageX
2021/09/01
2.2K0
Python lxml库的安装和使用
lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 Xpath 表达式提供了良好的支持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。
用户10002156
2023/08/11
5980
Python lxml库的安装和使用
python3安装和使用virtuale
本文介绍了virtualenv的安装,以及使用virtualenvwrapper提高效率。本文的操作示例是在linux下完成。 一. 安装 前提: python3和pip3都已经安装。 [root@localhost]# pip3 install virtualenv virtualenvwrapper 查看virtualenvwrapper.sh的位置 [root@localhost]# which virtualenvwrapper.sh 假设输出是/usr/local/bin/virtua
py3study
2020/01/03
4150
python3 安装MySQLdb及无法
用pip安装MySQLdb 中遇到如下问题,折腾半天之久,多方尝试,终搞定,遂做此记录,以便后来者少走弯路:
py3study
2020/01/19
1.5K0
Python3 turtle安装和使用教
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
py3study
2020/01/03
6K0
Python:Scrapy框架的安装和基本使用
本篇文章我们来看一下强大的Python爬虫框架Scrapy。Scrapy是一个使用简单,功能强大的异步爬虫框架,我们先来看看他的安装。
一墨编程学习
2018/11/26
1.2K0
python安装依赖包经常出错怎么办_python不兼容无法安装
原来编码是None,程序肯定是采用默认的GBK,所以这里我改一下他的默认编码为:UTF-8
全栈程序员站长
2022/11/11
1.5K0
python安装依赖包经常出错怎么办_python不兼容无法安装
python 升级导致yum无法正常使用
    昨天安装django的时候有些命令用不了,一查应该是python版本过低,目前版本2.6.6,于是编译安装了2.7.2版本,编译完成后做了个软连接加到path路径里面,使python调用的2.7版本。但是问题来了,当使用yum的时候报错使用不了,找不到模块。
py3study
2020/01/15
4.1K1
Python数据分析之anaconda安装和使用
今天开始学习Python数据分析了,说到Python数据分析,大家都会推荐使用anaconda,但作为一个初学者,总是很多疑虑,但在实践中解决了一部分,先和大家分享分享。
罗罗攀
2019/02/22
1K0
Python数据分析之anaconda安装和使用
python中RabbitMQ的使用(安装和简单教程)
RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从“生产者”接收消息并传递消息至“消费者”,期间可根据规则路由、缓存、持久化消息。“生产者”也即message发送者以下简称P,相对应的“消费者”乃message接收者以下简称C,message通过queue由P到C,queue存在于RabbitMQ,可存储尽可能多的message,多个P可向同一queue发送message,多个C可从同一个queue接收message
周小董
2019/03/25
3.8K0
python中RabbitMQ的使用(安装和简单教程)
Python爬虫:Scrapy框架的安装和基本使用
大家好,本篇文章我们来看一下强大的Python爬虫框架Scrapy。Scrapy是一个使用简单,功能强大的异步爬虫框架,我们先来看看他的安装。
QQ1622479435
2018/10/19
6540

相似问题

无法使用conda和python 3.8安装tensorflow

1218

无法使用pipenv和Python 3.8安装opencv-python

188

无法使用Python安装DuckDB

244

无法使用pip安装python

253

无法使用brew安装python

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文