Java:当命令行参数不是有效整数时,如何打印错误消息?

时间:2010-09-08 10:43:04

标签: java

我在Java中创建了一个应用程序,它计算所有数字的总和,直到命令行中的输入。

但是,如果在命令行中放入一个double或string,我需要显示一条错误消息,说明只能放入实数。

我该怎么做?我认为它需要异常或其他什么?

public static void main(String[] args) {
 right here?
    int n    = Integer.parseInt(args[0]);

谢谢!

4 个答案:

答案 0 :(得分:8)

public static void main(String[] args) {
    try {
       int n    = Integer.parseInt(args[0]);
    } catch (NumberFormatException e) {
      //here you print the error
       System.out.println("Error: only real numbers can be put in");
       //or
      System.err.println("Error: only real numbers can be put in");
    }
}

答案 1 :(得分:2)

Integer.parseInt(args[0]) 的调用会为您付出艰苦的努力,它会抛出 NumberFormatException 您只需捕获并打印任何错误消息你喜欢。

public static void main(String[] args) {
    try {
        int n = Integer.parseInt(args[0]);
    } catch(NumberFormatException e){
        System.out.println("The input value given is not a valid integer.");
    }
}

答案 2 :(得分:1)

如果

Integer.parseInt(args[0])无法将字符串解析为int,则会抛出NumberFormatException。只需抓住它来处理问题,例如:

public static void main(String[] args) {
    try{
        int n = Integer.parseInt(args[0]);
    }
    catch(NumberFormatException e){
        System.out.println("Bad user!");
    }
}

答案 3 :(得分:0)

查看API Documentationnumerous tutorials Google spits。直接来自官方Java教程,这通常是一个不错的选择:http://download-llnw.oracle.com/javase/tutorial/essential/exceptions/

查看信息here too。您还可以通过查找API文档here来查看异常parseInt引发的异常。

我相信人们会为你写完整个例子,在这种情况下我的答案已经过时了。

尝试四处搜索,网上有大量关于此类内容的示例和教程。