Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner

Hallo Community,

Hab seit 4 Wochen EDV und wir haben über das Wochende eine wirklisch schwere Hausaufgabe bekommen. Ich habe sie in meinen Augen richtig gemacht aber der Compiler zweigt mit trotzdem noch Fehler an. Da ich meinen Fehler nicht weiss ist es sehr schwer danach zu googlen...:rtfm:

Hier der Code:
Java:
/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 9/7/2012
  * @author
  */

public class Taschenrechner {

  public static void main(String[] args) {
    double zahl1;
    double zahl2;
    String operator;
    double ergebnis;

    System.out.println("Geben sie bitte die erste Zahl ein:");
    zahl1 = (float) Tastatur.leseKommazahl();
    System.out.println("Geben sie bitte den Operator ein:");
    operator = Tastatur.leseText();
    System.out.println("Geben sie bitte die zweite Zahl ein:");
    zahl2 = (float) Tastatur.leseKommazahl();

    if ((operator == "+") || (operator == "-") || (operator == "*") || (operator == "/")){
      System.out.println("Ungültige Eingabe");

    } else {
      if (operator == "+") {
        ergebnis = zahl1 + zahl2;

      } else {
        if (operator == "-") {
          ergebnis = zahl1 - zahl2;

        } else {
          if (operator == "*") {
            ergebnis = zahl1 * zahl2;

          } else {
            if (operator == "/") {
              ergebnis = zahl1 / zahl2;
            }
          }
        }
      }
    }




    System.out.println("Taschenrechner");
    System.out.println("==============");
    System.out.println("");
    System.out.println("Wert1: "+zahl1);
    System.out.println("Wert2: "+zahl2);
    System.out.println("Operator: "+operator);
    System.out.println("");
    System.out.println(zahl1+" "+operator+" "+zahl2+" = "+ergebnis);
  }
}

Der Fehler den mit der Compiler angibt:

Compiliere J:\Java_Dokumente\Taschenrechner\Taschenrechner.java mit Java-Compiler
Taschenrechner.java:58:59: variable ergebnis might not have been initialized
System.out.println(zahl1+" "+operator+" "+zahl2+" = "+ergebnis);
^
1 error

Benutze den Java Editor (von der Schule vorgeschrieben) und ein wahrscheinlich uraltes jdk von meinem Schul USB Stick.

Würde mich über schnelle Hilfe freuen!
Danke im Vorraus:)
 

pl4gu33

Top Contributor
"Taschenrechner.java:58:59: variable ergebnis might not have been initialized"

du musst Ergebnis einen Wert geben, wie dir der Fehler das schon sagt,...
Weil wenn dein Code bis zum Schluß durchläuft und ein falsches Zeichen ausgegeben wird, hat "ergebnis" keinen Wert, wenn du es ausgibst
 
Danke pl4gu33 für deine schnelle Hilfe :toll: ,

verstehe aber leider deine Antwort nicht so ganz. Ich habe doch die Variable ergebnis definiert nach ablauf des Programms. Mir ist übrigens noch etwas aufgefallen:
Wenn ich die Ausgabe des Ergebnisses rausnehme läuft das Programm. Aber wenn ich für den Operator ein falsches Zeichen eingebe wird trotzdem einfach weitergemacht ohne das da ungültiger Wert steht.
???:L???:L.


Würde mich über Hilfe freuen

Gruß,
Blablablub
 

Kiri

Bekanntes Mitglied
das
Java:
double ergebnis;

müsste so
Java:
double ergebnis = 0;
aussehen.


Außerdem:
Strings vergleicht man mit equals!

also so etwas
Java:
if (operator == "+") {

müsste so aussehen
Java:
if (operator.equals("+")) {

bzw. für ungleich
Java:
if (!operator.equals("+")) {
 
Danke Kiri für deine Hilfe,
aber es funktioniert immer noch nicht, habe sogar mehr Fehler als vorher:eek:
Mein Programm sieht jetzt so aus:
Java:
/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 9/7/2012
  * @author
  */

public class Taschenrechner {

  public static void main(String[] args) {
    double zahl1;
    double zahl2;
    String operator;
    double ergebnis;

    System.out.println("Geben sie bitte die erste Zahl ein:");
    zahl1 = (float) Tastatur.leseKommazahl();
    System.out.println("Geben sie bitte den Operator ein:");
    operator = Tastatur.leseText();
    System.out.println("Geben sie bitte die zweite Zahl ein:");
    zahl2 = (float) Tastatur.leseKommazahl();
    ergebnis = 0;

    if (operator.equals("+")) || (operator.equals("-")) || (operator.equals("*")) || (operator.equals("/")){
      System.out.println("Ungültige Eingabe");

    } else {
      if (operator.equals("+")) {
        ergebnis = zahl1 + zahl2;

      } else {
        if (operator.equals("-")) {
          ergebnis = zahl1 - zahl2;

        } else {
          if (operator.equals("*")) {
            ergebnis = zahl1 * zahl2;

          } else {
            if (operator.equals("/")) {
              ergebnis = zahl1 / zahl2;
            }
          }
        }
      }
    }




    System.out.println("Taschenrechner");
    System.out.println("==============");
    System.out.println("");
    System.out.println("Wert1: "+zahl1);
    System.out.println("Wett2: "+zahl2);
    System.out.println("Operator: "+operator);
    System.out.println("");
    System.out.println(zahl1+" "+operator+" "+zahl2+" = "+ergebnis);
  }
}

und meine Fehlermeldung:
Compiliere J:\Java_Dokumente\Taschenrechner\Taschenrechner.java mit Java-Compiler
Taschenrechner.java:25:31: illegal start of expression
if (operator.equals("+")) || (operator.equals("-")) || (operator.equals("*")) || (operator.equals("/")){
^
Taschenrechner.java:25:83: not a statement
if (operator.equals("+")) || (operator.equals("-")) || (operator.equals("*")) || (operator.equals("/")){
^
Taschenrechner.java:25:108: ';' expected
if (operator.equals("+")) || (operator.equals("-")) || (operator.equals("*")) || (operator.equals("/")){
^
Taschenrechner.java:28:7: 'else' without 'if'
} else {
^
4 errors

Die ist länger als vorher...
Würde mich über weitere Hilfe freuen

Gruß,
Blablablub
 

pl4gu33

Top Contributor
Java:
    if (!operator.equals("+") && !operator.equals("-") && !operator.equals("*") && !operator.equals("/")){

bei dir machst du die IF-Anweisung gleich wieder zu... außerdem müssen die EQUALS mit && verknüpt sein, da deine Fehlermeldung kommen soll, wenn alle Zeichen nicht zutreffen
 
Zuletzt bearbeitet:
J

jDennis79

Gast
Im Übrigen eine generelle Anmerkung. Deine Hinweise wie "wenn ich den Fehler nicht weiß, kann ich schlecht googlen" oder "die Fehlerliste ist länger als vorher" klingen nicht danach, als würdest du die Fehlermeldungen überhaupt lesen.

Das ist sicher nicht immer einfach, ganz besonders dann nicht, wenn man gerade erst mit Java oder dem Programmieren allgemein angefangen hat, und manchmal, in ganz seltenen Fällen, führt einen das eher sogar auf eine falsche Fährte.

Aber meistens, und bei deiner ersten Fehlermeldung war das der Fall, sagt dir der Compiler genau, wortwörtlich und eindeutig, was und wo es falsch ist. Wenn du ernsthaft Programmieren lernen willst, dann freunde dich mit deinem Compiler besser frühzeitig an.
 
Danke an euch beide mein Programm läuft jetzt :DDDDDD:D:toll::applaus:

aber eine Frage hab ich noch:
Wie sag ich ihm, dass er das Programm beenden soll wenn ich einen falschen Operator eingebe?
Im Moment zeigt er einfach ungültige Eingabe an macht aber trotzdem weiter.

Würde mich über erneute Hilfe freuen,
Danke im Vorraus
 
jDennis,

habe sehr lange gerätselt an der ersten Fehlermeldung und glaube ich habe auch verstanden, was sie mir sagen wollte. Ich dachte die Variable "ergebnis" sei nach Ablauf des Programms definiert.
Die zweite Fehlermeldung sah für mich sehr wirr und unverständlich aus. Außerdem weiß ich gar nicht was diese equals sind und dieser "statement" Felher hing anscheinend damit zusammen.
 
Zuletzt bearbeitet:

pl4gu33

Top Contributor
Java:
 if (!operator.equals("+") && !operator.equals("-") && !operator.equals("*") && !operator.equals("/")){
      System.out.println("Ungültige Eingabe"); 
    }else{
    	if (operator.equals("+")) {
            ergebnis = zahl1 + zahl2; 
        }else if (operator.equals("-")) {
            ergebnis = zahl1 - zahl2;        
        }else if (operator.equals("*")) {
        	ergebnis = zahl1 * zahl2;                
        }else{
        	ergebnis = zahl1 / zahl2;
        }
      System.out.println("Taschenrechner");
      System.out.println("==============");
      System.out.println("");
      System.out.println("Wert1: "+zahl1);
      System.out.println("Wett2: "+zahl2);
      System.out.println("Operator: "+operator);
      System.out.println("");
      System.out.println(zahl1+" "+operator+" "+zahl2+" = "+ergebnis);
    }

und so kannst du es auch noch ein wenig übersichtlicher machen ;)
oder mit Switch... aber das mögen manche net ;)

bei vielen Fehlermeldungen hilft dir auch Google weiter und wenn du eine Anweisung nicht kennst bzw. eine Methode ist auch da Google dein Freund,... geht meistens auch viel schneller als in einem Forum auf Antworten zu warten :)
 
Danke pl4gu33,

aber wir haben manche Sachen vom Lehrer vorgegeben, beispielsweise nach einem if immer 2mal einrücken, vor dem else eine freie Zeile...

Gruß,
Blablablub
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
M Brauche ein bisschen Hilfe bei einem Programm Java Basics - Anfänger-Themen 10
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben