当前位置: 首页 > 知识库问答 >
问题:

检查命令行参数的格式是否正确

锺离锦
2023-03-14

例如,如果我的程序是这样正确启动的:

java Test Tim;John;10;20

但是,我想阻止用户输入此表单以外的内容。

因此,只要命令行参数的格式不是String;一串int;int我希望我的程序退出并打印错误代码。

我不知道怎么做。对于这种情况,如果有人输入什么,我只是用ArrayIndexOutofBound尝试捕捉,但我不知道如何特别捕捉每一个可能的命令行参数,这是不正确的形式。

共有1个答案

芮念
2023-03-14

我希望它能给你一些想法:

 public static void main(String[] args) {
        if (args.length != 4) {
            throw new IllegalArgumentException("Program starts with parameters like this: (String, String, int, int)");
        }

        try {
            int firstInt = Integer.parseInt(args[2]);
        } catch (NumberFormatException e) {
            throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, int, int)");
        }

        try {
            int secondInt = Integer.parseInt(args[3]);
        } catch (NumberFormatException e) {
            throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, OK, int)");
        }
    }
 类似资料:
  • null 什么做法更好,更“真实”?我喜欢第一个,但再次,不确定我该如何选择Epsilon。

  • 问题内容: 查找进程aa.sh是否正在运行的linux命令是什么。ps命令似乎不起作用,并且不显示Shell脚本名称。 请指教。 问题答案: 检查一下

  • 问题内容: 我有一个SMTP服务器,出于这个问题的目的,我们称之为:smtp.mydomain.com。 如何检查SMTP服务器是否正常工作?我可以从Linux命令行手动发送电子邮件吗? 问题答案: 使用telnet建立原始网络连接的语法是: 所以远程登录到您的SMTP服务器 并复制并粘贴以下内容 注意: 不要忘记“。” 在代表消息结尾的末尾。“退出”行退出将结束会话。

  • 例如,“sudo”是ctor的第一个参数、最后一个参数还是其他参数?您如何知道它们的位置以及命令的哪些元素成为的参数?

  • 我正在创建一个程序,它将布尔表达式作为字符串输入,并将中缀公式转换为后缀公式,同时确保公式的形式有效。我很难找到一种方法来检查输入的公式是否有效。不允许导入(使用内置的python函数/方法),允许循环和递归。如果公式无效,请返回None。 公式可以包含: 一些转换示例如下: 不需要一个完整的工作程序,一个检验公式是否有效的算法就可以了。 我的当前实现将公式从中缀转换为后缀:

  • 我有一台带OS X 10.8.2的macbook pro。XCode已安装。我知道它出现在应用程序目录中。在/usr/bin中还有xcode build和xcode select文件,我需要知道是否安装了命令行工具。有命令吗?如何查看是否安装了XCode CLT,如果是,如何查找已安装的版本?