Bitte um Hilfe bei nem Taschenrechner

Status
Nicht offen für weitere Antworten.

Marco13

Top Contributor
Hm. Nach einer vollendeten Rechnung wie
1+2=
ist er
Code:
            if (anfang)
            {
                ...
            }
            else
            {
                if(operation.equals("C"))
                {
                    ....
                }
                else
                {
                    // ============================================ HIER
                    berechne(Double.parseDouble(anzeige.getText()));
                    letzteOperation = operation;
                    anfang = true;
                }
angekommen - dort setzt er "Anfang" auf "true", d.h. wenn man direkt danach "C" drückt, landet er garnicht mehr bei der Abfrage nach "operation.equals("C")".

Hilft das?
 

v2elite

Mitglied
Hi

ja danke jetzt weiss ich wenigstens wo der Fehler liegt ...

Das Problem ist aber nun wenn ich es weglasse dann mach er zwar einen reset dafür kann er aber nicht mehr rechnen ^^

wenn ich dann 9 + 9 eingebe gibt er 9.09 aus also er hängt an die erste 9.0 einfach die zweite 9 an
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Das Denken wollte ich eigentlich dir überlassen ;) aber ... ich habe ja nichts von "weglassen" gesagt. Ganz pragmatisch könnte man einfach die Abfrage
if(operation.equals("C"))
als erstes machen (d.h. egal, ob "anfang" nun true oder false ist).

Du solltest dir aber genau überlegen und genau klarmachen, wie du die verschiedenen Zustände so eines Rechners beschreiben und "konsistent halten" kannst. Wenn der Rechner (oder ein anderes Programm) mal ein bißchen komplizierter werden, wird das immer wichtiger...
 

v2elite

Mitglied
So habe es dank deiner hilfe nun halbwegs zum laufen gebracht :)

Es hat aber noch einen Wurm drin ...

und zwar wenn ich die rechnung so eingebe: 1+2*2-3=..... funktioniert es und es kommt -3 raus wenn ich dann = drücke

wenn ich aber 1 + 2= -3 = eingebe müsste ja 0 rauskommen, es kommt aber -3 raus ...

Hier der aktuelle Code
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Du solltest dir aber genau überlegen und genau klarmachen, wie du die verschiedenen Zustände so eines Rechners beschreiben und "konsistent halten" kannst. Wenn der Rechner (oder ein anderes Programm) mal ein bißchen komplizierter werden, wird das immer wichtiger...

Genau deswegen ;) Überleg' dir, welche Zuständes es geben kann, und wodurch der Rechner von einem Zustand in den anderen übergehen kann. Spätestens bei
1+2*2-3=....
müßtest du ja auch Punkt-Vor-Strich-Rechnung berücksichtigen - das kann man dann nur mit einer Art "Puffer" machen, der einige der letzten Zahlen/Ergebnisse und die Operation dazwischen speichert.

Ein Beispiel:

1
+
2
+ Sobald das gedrückt wurde, kann 1+2 ausgerechnet und als 3 gespeichert werden

D.h. man hat dann im Puffer:
3
+
...

Im anderen Fall:

1
+
2
* Hier kann noch NICHTS ausrechnet werden - man muss die nächste Eingabe abwarten
3
+ Jetzt kann 1+2*3 ausgerechnet werden

Im Puffer steht dann
7
+
...


Noch ein anderes Beispiel:

1
+
2
* Hier kann noch NICHTS ausrechnet werden - man muss die nächste Eingabe abwarten
3
* Hier kann jetzt NUR 2*3 ausgerechnet werden.

Im Puffer steht dann
1
+
6
*
...


Ideal wäre, eine Klasse "Rechner" zu erstellen, der OHNE das GUI funktioniert - das kann dann noch ein bißchen schwieriger werden, aber wäre sehr gut in bezug auf eine saubere Trennung von GUI und eigentlicher Rechner-Funktionalität...
 

v2elite

Mitglied
hi

Der Taschenrechner soll ganz einfach sein ohne punkt vor strich... wenn man 1+2 dann * eingibt dann soll er 1+2 berechnen und dann einfach mal die nächste zahl die kommt berechnen

und zur zeit ist irgendwo ein wurm drin --> jedes zeichen ist eine eingabe:

1 + 2 = - 3 = nun soll er also 3-3 rechnen als ergebnis kommt aber -3 raus das verstehe ich nicht

Das mit der Klasse Rechner ist eine gute Idee wie setze ich das nun am besten um ? Also dass die Rachnung ohne GUI funktioniert

Ich bin noch ein ziemlicher noob :oops:
 

Marco13

Top Contributor
Hab' gerade nicht viel Zeit, nur der Allgemeine Tipp: Mal in den ActionPerformed-Methoden solche Ausgaben machen wie
Code:
System.out.println("Command war "+command+" letzteOperation war "+letzteOperation .... usw)
dann findet man die Ursache leichter.

Die Rechner-Klasse - die Grundidee wäre eine Klasse, die das Rechnen übernimmt, und nur durch Methodenaufrufe von der GUI aus gesteuert wird - bei einem so einfachen Rechner "lohnt" sich das kaum, aber bei komplexeren Sachen "müßte" man das so machen, d.h. es wäre eine Gute Übung, sich zu überlegen, wie man das aufbauen könnte... Bei Fragen kann ich vielleicht am Wochenende noch was dazu sagen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
J JPanel in JScrollPane Hilfe bitte AWT, Swing, JavaFX & SWT 2
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
A Swing Meine JButtons werden nicht angezeigt bitte helft mir AWT, Swing, JavaFX & SWT 2
J Bitte Erläuterung (skin/virtualflow) AWT, Swing, JavaFX & SWT 0
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
T action für Button übergeben - bitte um Segen AWT, Swing, JavaFX & SWT 1
C Swing XML - JAVA (GUI) Problem !! BITTE HELFEN !! AWT, Swing, JavaFX & SWT 6
R Bitte kein Menü bei F10 AWT, Swing, JavaFX & SWT 9
S Bitte um ein Beispiel von JXTreeTable AWT, Swing, JavaFX & SWT 12
J AWT Einmal FileDialog-Beispiel für Dumme bitte AWT, Swing, JavaFX & SWT 6
S Swing Bild (Gif) in Bitte warten JDialog AWT, Swing, JavaFX & SWT 6
A repaint() zu langsam, bitte um alternativen AWT, Swing, JavaFX & SWT 5
hdi GUI - Bitte optisches Feedback ;) AWT, Swing, JavaFX & SWT 26
O Verbesserungfrage zu einem MP3Player Slider - Ebenius kannst du helfen bitte ? AWT, Swing, JavaFX & SWT 10
R JDialog "Bitte warten..." durchsichtig AWT, Swing, JavaFX & SWT 5
A Bitte warten Dialog AWT, Swing, JavaFX & SWT 4
E bei gedrückte Taste --> Bitte nur ein Event auslösen AWT, Swing, JavaFX & SWT 4
P Anfänger Probleme mit JTable bitte um Rat! AWT, Swing, JavaFX & SWT 5
G Mausklick event? BITTE HELFT MIR! :( AWT, Swing, JavaFX & SWT 8
I TrayIcon aber bitte nur einmal AWT, Swing, JavaFX & SWT 2
H <Synth> Alle die sich auskennen Bitte hier rein schaue AWT, Swing, JavaFX & SWT 2
hdi bitte um performance ratschläge AWT, Swing, JavaFX & SWT 31
G kann meine idee nicht verwirklichen, bitte helfen AWT, Swing, JavaFX & SWT 3
G eingegebene Werte einer JTable prüfen? Bitte helfen AWT, Swing, JavaFX & SWT 5
V Bitte um kurze erklärung AWT, Swing, JavaFX & SWT 2
S ScrollBar, bitte helft mir! AWT, Swing, JavaFX & SWT 9
S Bitte Sinusbefehl erklären AWT, Swing, JavaFX & SWT 5
C JTree bereitet große Probleme, kann uns bitte jemand helfen! AWT, Swing, JavaFX & SWT 6
J eventhandling / Problemmeldung Bitte schaut euch den Code an AWT, Swing, JavaFX & SWT 2
thE_29 Vor dem ersten Posten bitte lesen! AWT, Swing, JavaFX & SWT 0
M MouseEnter - Exit - Starthilfe bitte! AWT, Swing, JavaFX & SWT 3
A Kann mir mal bitte jemand die Ausrichtungen logisch erklären AWT, Swing, JavaFX & SWT 10
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
F Hilfe beim ausschalten von Robot AWT, Swing, JavaFX & SWT 7
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22

Ähnliche Java Themen

Neue Themen


Oben