有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何通过主函数的参数获取用户对数组的输入?

我有这个:

class test {

    void main(int a[]) {

    }
}

我基本上想要的是,通过这种方式为我的数组获取元素,有可能吗

更新:

好的,很多人都说main只能接受一个字符串数组,下面是下一个问题:

class test {

    public static void main(String[] args) {

    }
}

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

incompatible types: int cannot be converted to java.lang.String[]

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

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

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

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

    void main(String[] a){} // Java
    
  2. # 2 楼答案

    这是不可能的。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();