2016-09-28 3 views
0

zu bauen Ich versuche, einen grundlegenden Rechner für die Klasse zu machen.Ich versuche, einen grundlegenden Rechner mit if Anweisungen

Ich kam mit dem Code unten, aber alles es tut es zusätzlich.

Auch wenn ich -, * oder / verwende.

Irgendwelche Tipps?

Scanner input = new Scanner(System.in); 
    String num1, num2, operation, function; 

    System.out.println("Enter a simple equation: "); 
    function = input.nextLine(); 
    int firstspace = function.indexOf(" "); 
    num1 = (function.substring(0,firstspace)); 
    int lastspace = function.lastIndexOf(" "); 
    operation = (function.substring(firstspace,lastspace)); 
    num2= (function.substring(lastspace+1,function.length())); 
    double n1 = Double.parseDouble(num1); 
    double n2 = Double.parseDouble(num2); 



    if (operation.equals(" + ")); 
    { 
     System.out.println("your answer is " + (n1 + n2)); 
    } 
    if (operation.equals(" - ")) 
    { 
     System.out.println("your answer is " + (n1 - n2)); 
    } 

    if (operation.equals("/")) 
    { 
     System.out.println("your answer is " + (n1/n2)); 
    } 
    if (operation.equals(" * ")) 
    { 
     System.out.println("your answer is " + (n1*n2)); 
    } 

} 

}

+1

Welcome hilft SO :-) Sie Ihren Code debuggen versucht haben? –

Antwort

1

Von dem, was ich sehe, Ihr Code, um dieses Problem hat

if (operation.equals(" + ")); 
{ 
    System.out.println("your answer is " + (n1 + n2)); 
} 

Hier finden Sie eine Semikolon setzen, was bedeutet, wenn Sie den Code ausführen, wird es diese Bedingung ausführen, indem Standard, so dass Addition immer ausgeführt wird, ob Sie es möchten oder nicht.

Also im Grunde sollte der Code wie folgt

if (operation.equals("+")) 
      { 
       System.out.println("your answer is " + (n1 + n2)); 
      } 
      if (operation.equals("-")) 
      { 
       System.out.println("your answer is " + (n1 - n2)); 
      } 

      if (operation.equals("/")) 
      { 
       System.out.println("your answer is " + (n1/n2)); 
      } 
      if (operation.equals("*")) 
      { 
       System.out.println("your answer is " + (n1*n2)); 
      } 

Hoffnung, dies