如何通过main函数的参数获取Array的用户输入?

时间:2016-03-27 15:46:23

标签: java

我有这个:

class test {

    void main(int a[]) {

    }
}

我基本上想要的是以这种方式为我的数组获取元素,是否可能?

更新

好的,你们很多人说main只能接受字符串数组,所以这是下一个问题:

class test {

    public static void main(String[] args) {

    }
}

现在当我在方法调用中输入一个数字时,它给出了一个错误:

  

不兼容的类型:int无法转换为java.lang.String []

更新2:好吧,所以我没有引用它们。 XD

提前致谢!

2 个答案:

答案 0 :(得分:1)

这是不可能的。 main方法的一个正确签名是main(String[] args)(或main(String... args))。该方法也必须是public static。但您可以尝试将此String[]数组转换为int[]

 int[] ints = new int[args.length];
 for (int i = 0; i < args.length; ++i) ints[i] = Integer.valueof(args[i]);

或Java 8方式:

 int[] ints = Arrays.stream(args).mapToInt(Integer::valueOf).toArray();

答案 1 :(得分:1)

main函数必须接受Java中的String数组,因为命令行参数是一个String数组。实际上,C ++ / C也和Java一样。就像这样:

int main(int argc, char * argv[]){} //C++/C

void main(String[] a){} // Java