Frage von hamtata, 50

Warum habe ich keine Ausgabe bei Java?

Hallo! Ich musste einen Taschenrechner auf Java programmieren, ich kann zwar die gewünschte Rechnung eingeben, aber das Programm gibt das Ergebnis der Rechnung nicht aus. Ich bin ganz neu im Programmieren, deshalb möchte ich mich dafür schonmal entschuldigen falls ich etwas nicht auf Anhieb verstehe.Ich wäre über jede Hilfe sehr dankbar! Hier ist mein Code:

public class Taschenrechner {

    public static void main(String[] args) {
        System.out.println("Taschenrechner");
        System.out.println("==============");
        
        int zahl1;
        zahl1 = IO.readInt(); //Eingabe 1. Zahl
        String operator;
        operator = IO.readString(); //Eingabe Rechenoperator
        int zahl2;
        zahl2 = IO.readInt(); //Eingabe 2. Zahl
        
        System.out.print(zahl1 + " " + operator + " " + zahl2);
        
        
        if(operator == "+"){
            System.out.print(zahl1 + zahl2);
        }
        
        if(operator == "-"){
            System.out.print(zahl1 - zahl2);
        }
        
        if(operator == "*"){
            System.out.print(zahl1 - zahl2);
        }
        
        if(operator == "/"){
            System.out.print(zahl1/zahl2);
        }
        
        if(operator == "%"){
            System.out.print(zahl1 % zahl2);
        }
        
        
    
        
        
    }

}
Antwort
von Dory1, 16

Strings solltest du immer so vergleichen:

if (operator.equals("+")) {

anstatt

if (operator == "+") {


Der == Operator testet lediglich ob zwei Referenzen dasselbe Objekt referenzieren - es werden keine Inhalte getestet. Lediglich wenn du String-Literale miteinander vergleichst würde das funktionieren: 

"test" == "test"        // true

aber

String test = new String("test");

test == "test";         // false
Kommentar von hamtata ,

Vielen Dank, ich werde es gleich ausprobieren

Keine passende Antwort gefunden?

Fragen Sie die Community