2016-03-19 6 views
-2

dieses Programm gibt die Ausgabe durch die Zusammenlegung n1 und n2, aber ich möchte, dass beide arithmetischarithmetische Operation + nur vereint die Variablen

String answer = ""; 

    if (a1.equals("+")){ 
     answer = (n1 + n2); 
    } 
    else if (a1.equals("-")){ 
     answer = n1 + n2; 
    } 
+2

Sie müssen zuerst in eine Zahl umwandeln. – morxa

+0

Meinst du nicht 'n1 - n2' für' "-" '? –

+0

@PeterLawrey Wahrscheinlich verließ er es bei + seit - gibt Kompilierungsfehler – Chexxor

Antwort

1

String zusätzlich hinzugefügt werden (das bedeutet +, wenn eine oder mehrere der Seiten sind Strings), versuchen Sie immer, die Eingaben zu verketten, anstatt sie hinzuzufügen. Um eine arithmetische Addition zu machen, müssen beide Eingänge Number Typen sein, das heißt int, double, float, char.

Verwenden int number1 = Integer.parseInt(n1) und int number2 = Integer.parseInt(n2) und verwenden Sie dann den + Operator auf dem int ist, nicht auf Saiten.

0

Eines von zwei Dingen passiert hier - entweder n1 und n2 sind beide Zeichenfolgen, in diesem Fall müssen Sie Integer.parseInt() um sie herum verwenden.

Oder weil Sie sie zu etwas hinzufügen, das bereits ein String ist, weil Sie den leeren String oben initialisiert haben, werden sie vor dem Hinzufügen zu Strings gezwungen. In diesem Fall können Sie initialisieren, um Null zu berechnen, oder die Berechnung zuerst in einer separaten Variablen durchführen.

+0

Da er Klammern um die Addition setzen, ist das zweite Szenario unwahrscheinlich. Sie sollten ignorieren, was ihnen zugewiesen wurde, bis die Klammer gelöst wurde. – Chexxor

+0

Guter Punkt. Ich habe Ihre Antwort gewählt. – saml

0

Sie wie folgt vor, mit zu beginnen zu initialisieren als numerische

var answer = 0; 
var n1 = 0; 
var n2 = 0; 

ODER

Verwenden ParseInt für Ihre numerischen Variablen n1 und n2

prüfen diesen Beitrag:

How to add two numbers?

Verwandte Themen