java中的main()参数

时间:2011-03-11 16:46:23

标签: java main

我正在尝试为将字符串作为输入重新编写的程序编写代码。 当用户没有输入任何数据时,程序会输出“Error”,否则会输出第一个字符串参数。

将没有数据称为“null”是否正确? 这是行不通的。我该怎么写呢?

public class Try {
public static void main(String[] args){
    if (args[0]==null){
        System.out.println("Error- please type a string");
    }else {System.out.println(args[0]);}

    }
}

5 个答案:

答案 0 :(得分:11)

如果参数首先存在,则永远不会是null - 为了检查这一点,您应该使用args.length代替:

if (args.length == 0) {
  ...
} else {
  ...
}

答案 1 :(得分:3)

不完全 - 你想要args.length==0

if (args.length==0){
    System.out.println("Error- please type a string");
}
else {
    System.out.println(args[0]);
}

使用当前代码,如果没有参数,它将抛出异常,因为数组长度为0,因此访问任何元素将抛出IndexOutOfBoundsException

答案 2 :(得分:3)

你可以检查args的属性“length”的值,如果值是0,这意味着用户没有放任何数据

public class Try {
public static void main(String[] args){
    if (args.length == 0) {
        System.out.println("Error- please type a string");
    } else {
        System.out.println(args[0]);
    }
}

答案 3 :(得分:2)

看起来这是从命令行调用的。如果用户未提供任何参数,则args的长度为0,因此args[0]将成为索引超出范围的错误。您需要检查args的长度。

,而不是检查null

答案 4 :(得分:1)

您需要测试args.length是否为0。