如何调用java主函数?

如何调用java主函数?,java,input,main,Java,Input,Main,那么我如何调用Javamain()方法呢?如何将参数传递给它?请更改案例结构中的索引(如@SotiriosDelimanolis所建议的)。此外,我们可以在以下情况下使用字符串: Rasperry:src maggiesmac$ javac Calculator.java Rasperry:src maggiesmac$ java Calculator 1+2 Usage: java Calculator operand1 operator operand2 Rasperry:src maggi

那么我如何调用Java
main()
方法呢?如何将参数传递给它?

请更改案例结构中的索引(如@SotiriosDelimanolis所建议的)。此外,我们可以在以下情况下使用字符串:

Rasperry:src maggiesmac$ javac Calculator.java
Rasperry:src maggiesmac$ java Calculator 1+2
Usage: java Calculator operand1 operator operand2
Rasperry:src maggiesmac$ java Calculator 1 + 2
Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:572)
    at java.lang.Integer.parseInt(Integer.java:615)
    at Calculator.main(Calculator.java:15)
Rasperry:src maggiesmac$ java Calculator.main(1,+,2)
-bash: syntax error near unexpected token `('
公共类计算器{
公共静态void main(字符串[]args){
如果(参数长度<3){
System.out.println(“用法:java计算器操作数1运算符操作数2”);
系统出口(0);
}
int结果=0;
开关(参数[1]){
格“+”:
结果=Integer.parseInt(args[0])+Integer.parseInt(args[2]);
打破
案例“-”:
结果=Integer.parseInt(args[0])-Integer.parseInt(args[2]);
打破
案例“*”:
结果=Integer.parseInt(args[0])*Integer.parseInt(args[2]);
打破
案例“/:
结果=Integer.parseInt(args[0])/Integer.parseInt(args[2]);
打破
}
System.out.println(args[0]+“”+args[1]+“”+args[2]+“=”+结果);
}
}

您也可以尝试下面的代码获得结果

public class Calculator {
    public static void main(String[] args) {
        if (args.length < 3) {
            System.out.println("Usage: java Calculator operand1 operator operand2");
            System.exit(0);
        }
        int result = 0;
        switch (args[1]) {
        case "+":
            result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
            break;
        case "-":
            result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
            break;
        case "*":
            result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
            break;
        case "/":
            result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
            break;
        }
        System.out.println(args[0] + ' ' + args[1] + ' ' + args[2] + " = " + result);
    }
}
类计算器{
公共静态void main(字符串[]args){
如果(参数长度<3){
System.out.println(“用法:java计算器操作数1运算符操作数2”);
系统出口(0);
}
int结果=0;
char op=args[1]。charAt(0);
System.out.println((int)op);
int-ope=(int)op;
开关(ope){
案例43:
结果=Integer.parseInt(args[0])+Integer.parseInt(args[2]);
打破
案例45:
结果=Integer.parseInt(args[0])-Integer.parseInt(args[2]);
打破
案例42:
结果=Integer.parseInt(args[0])*Integer.parseInt(args[2]);
打破
案例47:
结果=Integer.parseInt(args[0])/Integer.parseInt(args[2]);
打破
}
System.out.println(args[0]+“”+args[1]+“”+args[2]+“=”+结果);
}
}

Integer.parseInt(args[1]是否处理命令行参数
1+2
?您认为异常试图告诉您什么?您确实调用了main函数。如果您实际读取了输出,您可以看到有语法错误。正在调用main函数,这不是问题所在。请查看错误消息。您正在尝试解析中的某些内容对于一个整数来说,这显然不是一个整数。投票以打字错误结束,索引错误。
public class Calculator {
    public static void main(String[] args) {
        if (args.length < 3) {
            System.out.println("Usage: java Calculator operand1 operator operand2");
            System.exit(0);
        }
        int result = 0;
        switch (args[1]) {
        case "+":
            result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
            break;
        case "-":
            result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
            break;
        case "*":
            result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
            break;
        case "/":
            result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
            break;
        }
        System.out.println(args[0] + ' ' + args[1] + ' ' + args[2] + " = " + result);
    }
}
class Calculator {
    public static void main(String[] args) {
        if (args.length < 3) {
            System.out.println("Usage: java Calculator operand1 operator operand2");
            System.exit(0);
        }
        int result = 0;
    char op = args[1].charAt(0);
    System.out.println((int)op);

    int ope = (int)op;

        switch (ope) {
        case 43:
            result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
            break;
        case 45:
            result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
            break;
        case 42:
            result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
            break;
        case 47:
            result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
            break;
        }

        System.out.println(args[0] + ' ' + args[1] + ' ' + args[2] + " = " + result);
    }
}