有 Java 编程相关的问题?

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

java更改主参数类型

我目前正在Eclipse上做一个学校项目(我们刚刚开始使用它),我们遇到了一个小问题:因为我们以前使用过BlueJ,我们没有任何主要方法,我们添加了一个,但遇到了一个问题

我们必须在参数中发送一个Int值,而不是带有args的字符串[],我们尝试了 公共静态void main(Int[]args) 这会导致以下错误:

Error: Main method not found in class Tester, please define the main method as: public static void main(String[] args)

我想知道我们应该做些什么/做些什么改变才能让它发挥作用


共 (6) 个答案

  1. # 1 楼答案

    正如错误所说,执行类时将调用的主方法必须具有签名public static void main(String[] args)。你不能只是给出不同的论点

    如果在命令行上以参数形式传递数字,Java会将它们作为字符串读入。如果要将它们转换为数字类型,必须在代码中显式地进行转换

  2. # 2 楼答案

    正如其他人所说,您不能更改main方法的签名。要从String参数中获取整数,请使用:

    public static void main(String[] args) {
        int first = Integer.parseInt(args[0]); // use whatever index you need
    }
    
  3. # 3 楼答案

    Java将寻找public static void main(String[] args)
    您必须将整数值作为字符串传递并解析它

    这里是Integer.parseInt(String)documentation链接

  4. # 4 楼答案

    尝试在字符串数组中发送整数

    new String[]{"1"}
    

    然后把它拿来:

    Integer yourInteger = Integer.valueOf(args[0])
    
  5. # 6 楼答案

    您需要将值作为字符串传递,然后将其作为整数解析

    看看下面的代码示例:

    public static void main(String[] args) throws Exception {
        int value = Integer.parseInt(args[0]);
        System.out.println("My int value: " + value);
    }
    

    如果参数不可解析,则需要使用try-catch保护parseInt以进行错误管理