2016-04-09 17 views
-3

ich nicht scheinen, um herauszufinden, warum ich diese Störung erhalteFehler: ‚)‘ erwartet Compilerfehler

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 

Mein Code ist

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."); 
     } 

    } 
} 

Wenn ich versuche, die Schließung parenthesizes wo es zu betreten sagt, sie sollten gehen, es wird mehr Fehler bekommen. Kann mir jemand eine kurze Beschreibung geben, was diesen Fehler verursacht? Ich versuche einfach, ein Programm zu erstellen, das mit "do math" arbeitet, basierend auf Argumenten, die in die Befehlszeile eingegeben werden, wenn das Programm ausgeführt wird.

Zum Beispiel, wenn ich „java Math 1 + 1“ eingegeben Es dieses Problem lösen würde und ausspucken „The answere ist 2.“

Jede Hilfe, die Sie Jungs dazu bieten können, würde sehr geschätzt werden.

+1

Sie verpassen eine ')' auf jeder dieser Linien verwenden. Die Tatsache, dass das Hinzufügen dieser * anderen * Fehler ergibt, bedeutet nicht, dass sie nicht da sein sollten. – Biffen

+2

Sie haben 'sum' nirgendwo definiert. – SomeJavaGuy

Antwort

0

gibt es zwei Fehler, Sie dennoch nicht Summe definieren anwhere, als gut, wie Sie bei jeder Bedingung eine geklam- mert fehlen.

public static void main(String args[]) 
{ 
    int sum = 0; // you had do define sum 
    if(args[1].equalsIgnoreCase("+")) // one closing missing 
    { 
     sum = Integer.parseInt(args[0]) + Integer.parseInt(args[2]); 
     System.out.println("The answere is : " + sum); 
    } 
    else if(args[1].equalsIgnoreCase("x")) // one closing missing 
    { 
    sum = Integer.parseInt(args[0]) * Integer.parseInt(args[2]); 
    System.out.println("The answere is : " + sum); 
    } 
    else if(args[1].equalsIgnoreCase("-")) // one closing missing 
    { 
    sum = Integer.parseInt(args[0]) - Integer.parseInt(args[2]); 
    System.out.println("The answere is : " + sum); 
    } 
    else if(args[1].equalsIgnoreCase("/")) // one closing missing 
    { 
    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."); 
    } 

} 
0

Ok, gehen wir Schritt für Schritt. Der Fehler ')' erwartet ist, warum Sie die '(' if zu schließen vergessen:

if(args[1].equalsIgnoreCase("+")) 

... und so weiter, für jeden, wenn plus, Sie nichtSumme definiert haben überall. dass ein anderer Fehler ist werden Sie begegnen.

2

Sie ) für jeden if Zustand verpassten so gut wie Sie nicht sum definiert haben.

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."); 
     } 
    } 
} 
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."); 
    } 

} } 

Dies sollte Ihr Problem lösen. Sie müssen sicherstellen, dass jede Klammer geschlossen ist. Ich denke du brauchst bessere IDE.

1

you are not completing if() statement complete if statement and use this for compare

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

oder können Sie Schalter() -Methode