错误:')'预期编译错误

时间:2016-04-09 07:18:20

标签: java compiler-errors

我似乎无法弄清楚为什么我会收到此错误

Math.java:6: error: ')' expected
        if(args[1].equalsIgnoreCase("+")
                                        ^
Math.java:11: error: ')' expected
                else if(args[1].equalsIgnoreCase("x")
                                                     ^
Math.java:16: error: ')' expected
                else if(args[1].equalsIgnoreCase("-")
                                                     ^
Math.java:21: error: ')' expected
                else if(args[1].equalsIgnoreCase("/")
                                                     ^
4 errors

我的代码是

  class Math 
{
    public static void main(String args[])
    {
        if(args[1].equalsIgnoreCase("+")
        {
        sum = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("x")
        {
        sum = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("-")
        {
        sum = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("/")
        {
        sum = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else
        {
        System.out.println("Something seems to be wrong, please try again.");
        }

    }
}

当我尝试输入结束括号时它应该去的地方,它会得到更多的错误。任何人都可以简要介绍一下导致此错误的原因。我只是试图根据在程序运行时输入命令行的参数来制作一个带数学的程序。

例如,如果我输入“java Math 1 + 1”它将解决该问题并吐出“回答是2。”

你们可以提供的任何帮助都将非常感激。

3 个答案:

答案 0 :(得分:2)

您错过了)每个if条件,并且您没有定义sum

class Math 
{
    public static void main(String args[])
    {
        int sum;
        if(args[1].equalsIgnoreCase("+"))
        {
        sum = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("x"))
        {
        sum = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("-"))
        {
        sum = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else if(args[1].equalsIgnoreCase("/"))
        {
        sum = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
        System.out.println("The answere is : " + sum);
        }
        else
        {
        System.out.println("Something seems to be wrong, please try again.");
        }
    }
}

答案 1 :(得分:1)

  

你没有完成if()语句完成if语句并将其用于比较

if(Character.toLowerCase(arg[1])==Character.toLowerCase('+')){
}

或者您可以使用switch()方法

答案 2 :(得分:0)

  class Math  { 
public static void main(String args[])
{ 
    if(args[1].equalsIgnoreCase("+"))
    { 
    sum = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
    System.out.println("The answere is : " + sum);
    } 
    else if(args[1].equalsIgnoreCase("x"))
    { 
    sum = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
    System.out.println("The answere is : " + sum);
    } 
    else if(args[1].equalsIgnoreCase("-"))
    { 
    sum = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
    System.out.println("The answere is : " + sum);
    } 
    else if(args[1].equalsIgnoreCase("/"))
    { 
    sum = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
    System.out.println("The answere is : " + sum);
    } 
    else 
    { 
    System.out.println("Something seems to be wrong, please try again.");
    } 

} }

这应该可以解决您的问题。您需要确保每个支架都已关闭。我认为你需要使用更好的IDE。