在运行程序之前我需要满足的条件

时间:2013-03-29 15:56:21

标签: java parseint

我有java程序,我想在命令行中运行jar。但在我运行处理数据的函数之前,我有两个条件需要满足。 1. args[0]必须是整数。 2.需要有两个参数。如果不满足这些条件,我想要弹出一条错误消息,然后系统退出。我想我能做正确的#1,但我如何将它们结合起来呢?

public static void main(String[] args) throws IOException
 {
    try
    {
        int x = Integer.parseInt(args[0]);
        process(x, args[1]);    
    }
    catch(NumberFormatException e)
    {
        System.output.println("Please enter an integer");
    }


 }

4 个答案:

答案 0 :(得分:2)

然后,这是您应该编写的代码:

 public static void main(String[] args) throws IOException {
    if(args == null || args.length != 2) {
        System.out.println("You have not entered the required two parameters");
        return;
    }
    try {
        int x = Integer.parseInt(args[0]);
        process(x, args[1]);
    } catch (NumberFormatException e) {
        System.out.println("Please enter an integer");
    }


}

请注意,System.output.println中存在编译错误(“请输入整数”);声明,更确切地说:

System.out.println("Please enter an integer");

答案 1 :(得分:0)

args.length会给你参数的数量,所以添加像

这样的东西
if(args.length != 2)
{
  throw new IOException(argumentDescriptionHere);
}

答案 2 :(得分:0)

你可以这样做#2:

if (args.length < 2)
{
  System.err.println("Need 2 arguments!");
  System.exit(-1)
}

答案 3 :(得分:0)

public static void main(String[] args) throws IOException
 {
    try
    {
        if(args == null || args.length != 2)
        {
           System.out.println("Invalid arguments");
        }
        else{
            int x = Integer.parseInt(args[0]);
            process(x, args[1]);   
        } 
    }
    catch(NumberFormatException e)
    {
        System.out.println("Please enter an integer");
    }


 }