Taschenrechner Problemchen

Hallo zusammen hab ne Frage zu diesem Quellcode also er ist ausführbar und alles drum und dran
nur würde ich gerne die Zeichen im Taschenrechner stehen lassen wie gehe ich am besten vor ?
also da soll stehen 5+7+88* usw usw also die zeichen sollen sich nicht austauschen sondern stehen bleiben kann mir jemand helfen und mir sagen was ich an welcher stelle ändern muss ?

[Java]
//Taschenrechner
import java.awt.*;
import java.awt.event.*;
import java.lang.*;

public class Taschenrechner extends Frame

{
Button Taste_0,Taste_1,Taste_2, Taste_3,Taste_4,Taste_5 , Taste_6, Taste_7, Taste_8,Taste_9,
Taste_div, Taste_multi,Taste_plu, Taste_min, Taste_glei,Taste_komma;

double Speicher =0;
double Zwischenwert =0; //für 1.Operand
boolean Operand = false;
char akt_Operation ='k'; //'k'eine Operation
boolean neue_Zahl = true;
boolean Vorkomma = true;
TextField Anz; //Display

class Mein_WindowListener extends WindowAdapter
{
public void windowClosing (WindowEvent e)
{ //Programm beenden
System.exit(0);
}

}

//konstruktor
Taschenrechner(String titel)
{
super(titel);
setLayout(new GridLayout (8,2));

Anz = new TextField(10); // 10 Zeichen breit
Anz.setEditable (false); //nicht editierbar
Anz.setText("0.0");
Anz.setBackground(Color.white);

// Schalter erzeugen

Taste_0 = new Button("0");
Taste_1 = new Button("1");
Taste_2 = new Button("2");
Taste_3 = new Button("3");
Taste_4 = new Button("4");
Taste_5 = new Button("5");
Taste_6 = new Button("6");
Taste_7 = new Button("7");
Taste_8 = new Button("8");
Taste_9 = new Button("9");
Taste_div = new Button("/");
Taste_multi = new Button("*");
Taste_plu = new Button("+");
Taste_min= new Button("-");
Taste_glei = new Button("=");
Taste_komma = new Button(".");


//Komponenten hinzufügen

add(new Label (""));
add(Anz); //TextField
add(new Label (""));



add(Taste_7);
add(Taste_8);
add(Taste_9);
add(Taste_4);
add(Taste_5);
add(Taste_6);
add(Taste_1);
add(Taste_2);
add(Taste_3);
add(Taste_0);
add(Taste_komma);
add(Taste_div);
add(Taste_multi);
add(Taste_min);
add(Taste_plu);
add(Taste_glei);
add(new Label (""));


addWindowListener(new Mein_WindowListener());


Taste_0.addActionListener(new drücken());
Taste_1.addActionListener(new drücken());
Taste_2.addActionListener(new drücken());
Taste_3.addActionListener(new drücken());
Taste_4.addActionListener(new drücken());
Taste_5.addActionListener(new drücken());
Taste_6.addActionListener(new drücken());
Taste_7.addActionListener(new drücken());
Taste_8.addActionListener(new drücken());
Taste_9.addActionListener(new drücken());
Taste_div.addActionListener(new drücken());
Taste_multi.addActionListener(new drücken());
Taste_plu.addActionListener(new drücken());
Taste_min.addActionListener(new drücken());
Taste_glei.addActionListener(new drücken());
Taste_komma.addActionListener(new drücken());
}


//Ereignisbehandlung
class drücken implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String str, akt_Text;
int index;
char Zeichen;
double Wert;


str = e.getActionCommand();

Zeichen = str.charAt(0);

switch(Zeichen)
{


case '+':
case '-':
case '*':
case '/':
if(akt_Operation =='k'){ //keine Operation vorher
Zwischenwert = Double.valueOf(Anz.getText()).doubleValue();
Operand=true;
akt_Operation=Zeichen;
neue_Zahl=true;
break;
}

if(Operand == true){
Berechnung_ausführen();
neue_Zahl=true;
Vorkomma=true;
akt_Operation=Zeichen;
break;
}

case '=':
if(akt_Operation!='k' && Operand==true){


Berechnung_ausführen();
neue_Zahl=true;
Vorkomma=true;
akt_Operation=Zeichen='k';
Operand=false;
break;
}
case '.':
if(neue_Zahl == true){
//wenn mit einem Komma begonnen wird ist der Vorkomma Wert 0
Anz.setText("0");
neue_Zahl=false;
}
if(Vorkomma==true){
Vorkomma=false;
akt_Text=Anz.getText();
akt_Text += ".";
Anz.setText(akt_Text);
}
break;

default: //alles andre muss ein Zahlenbutton sein

if(neue_Zahl==true)
{
neue_Zahl=false;
Anz.setText("");
}

akt_Text=Anz.getText();
Anz.setText("");

akt_Text=Anz.getText();
Anz.setText(akt_Text + Zeichen);
break;
}
//hier wird das Ergebnis berechnet und angezeigt
}
}
void Berechnung_ausführen()
{
double Operand1, Operand2;
double Ergebnis = 0;

Operand1=Zwischenwert;
Operand2=Double.valueOf(Anz.getText()).doubleValue();


switch(akt_Operation)
{
case '+': Ergebnis = Operand1 + Operand2;
break;

case '-': Ergebnis = Operand1 - Operand2;
break;

case '*': Ergebnis = Operand1 * Operand2;
break;

case '/': if(Operand2!=0)
Ergebnis = Operand1 / Operand2;

else
Ergebnis = 0;
break;

}

//Das Ergebnis wird als neuer Zwischenwert gespeichert
Zwischenwert = Ergebnis;
Anz.setText(Double.toString(Ergebnis));
}

public static void main(String args[])
{
//eine Instanz der Fensterklasse anlegen
Taschenrechner Fenster = new Taschenrechner("Taschenrechner");

Fenster.pack();
Fenster.show();
}
}

[/Java]
 
L

LCD

Gast
Bei Zeile 222 [c]Anz.setText(Double.toString(Ergebnis));[/c] wird immer der Zwischenwert = Ergebnis angezeigt, könnte an dem liegen ?
 

KingOfExceptions

Bekanntes Mitglied
1. Du solltest lieber swing anstatt awt benutzen, dh aus
Code:
Frame
wird
Code:
JFrame
uws.
2. Variablen schreibt man klein.
3. Klassennamen schreibt man groß.
4. Einrücken hilft dabei, Fehler zu finden.
5. Ich habs dir mal geändert, gucks dir an, obs dir so passt:

Java:
// Taschenrechner
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;

public class Taschenrechner extends JFrame
{
    
    private static final long serialVersionUID = 1L;
    
    JButton                   Taste_0 , Taste_1 , Taste_2 , Taste_3 , Taste_4 , Taste_5 , Taste_6 , Taste_7 , Taste_8 , Taste_9 , Taste_div , Taste_multi ,
            Taste_plu , Taste_min , Taste_glei , Taste_komma;
    
    double                    speicher         = 0;
    double                    zwischenwert     = 0;          // für 1.Operand
    boolean                   operand          = false;
    char                      akt_Operation    = 'k';        // 'k'eine
                                                              // Operation
    boolean                   neue_Zahl        = true;
    boolean                   vorkomma         = true;
    JTextField                anz;                           // Display
    JTextField                operationen;
    
    class Mein_WindowListener extends WindowAdapter
    {
        public void windowClosing(WindowEvent e)
        { // Programm beenden
            System.exit(0);
        }
        
    }
    
    // konstruktor
    Taschenrechner(String titel)
    {
        super(titel);
        setLayout(new GridLayout(8, 2));
        
        operationen = new JTextField(10);
        operationen.setEditable(false);
        operationen.setText("");
        operationen.setBackground(Color.white);
        
        anz = new JTextField(10); // 10 Zeichen breit
        anz.setEditable(false); // nicht editierbar
        anz.setText("0.0");
        anz.setBackground(Color.white);
        
        // Schalter erzeugen
        
        Taste_0 = new JButton("0");
        Taste_1 = new JButton("1");
        Taste_2 = new JButton("2");
        Taste_3 = new JButton("3");
        Taste_4 = new JButton("4");
        Taste_5 = new JButton("5");
        Taste_6 = new JButton("6");
        Taste_7 = new JButton("7");
        Taste_8 = new JButton("8");
        Taste_9 = new JButton("9");
        Taste_div = new JButton("/");
        Taste_multi = new JButton("*");
        Taste_plu = new JButton("+");
        Taste_min = new JButton("-");
        Taste_glei = new JButton("=");
        Taste_komma = new JButton(".");
        
        // Komponenten hinzufügen
        
        add(operationen);
        add(anz); // TextField
        add(new JLabel(""));
        
        add(Taste_7);
        add(Taste_8);
        add(Taste_9);
        add(Taste_4);
        add(Taste_5);
        add(Taste_6);
        add(Taste_1);
        add(Taste_2);
        add(Taste_3);
        add(Taste_0);
        add(Taste_komma);
        add(Taste_div);
        add(Taste_multi);
        add(Taste_min);
        add(Taste_plu);
        add(Taste_glei);
        add(new JLabel(""));
        
        addWindowListener(new Mein_WindowListener());
        
        Taste_0.addActionListener(new Drücken());
        Taste_1.addActionListener(new Drücken());
        Taste_2.addActionListener(new Drücken());
        Taste_3.addActionListener(new Drücken());
        Taste_4.addActionListener(new Drücken());
        Taste_5.addActionListener(new Drücken());
        Taste_6.addActionListener(new Drücken());
        Taste_7.addActionListener(new Drücken());
        Taste_8.addActionListener(new Drücken());
        Taste_9.addActionListener(new Drücken());
        Taste_div.addActionListener(new Drücken());
        Taste_multi.addActionListener(new Drücken());
        Taste_plu.addActionListener(new Drücken());
        Taste_min.addActionListener(new Drücken());
        Taste_glei.addActionListener(new Drücken());
        Taste_komma.addActionListener(new Drücken());
    }
    
    // Ereignisbehandlung
    class Drücken implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            String str, akt_Text;
            char zeichen;
            String aktuellEingabe = operationen.getText();
            
            str = e.getActionCommand();
            zeichen = str.charAt(0);
            
            operationen.setText(aktuellEingabe+""+str);
            
            switch (zeichen)
            {
            
                case '+':
                case '-':
                case '*':
                case '/':
                    if (akt_Operation == 'k')
                    { // keine Operation vorher
                        zwischenwert = Double.valueOf(anz.getText()).doubleValue();
                        operand = true;
                        akt_Operation = zeichen;
                        neue_Zahl = true;
                        break;
                    }
                    
                    if (operand == true)
                    {
                        Berechnung_ausführen();
                        neue_Zahl = true;
                        vorkomma = true;
                        akt_Operation = zeichen;
                        break;
                    }
                    
                case '=':
                    if (akt_Operation != 'k' && operand == true)
                    {
                        
                        Berechnung_ausführen();
                        neue_Zahl = true;
                        vorkomma = true;
                        akt_Operation = zeichen = 'k';
                        operand = false;
                        break;
                    }
                case '.':
                    if (neue_Zahl == true)
                    {
                        // wenn mit einem Komma begonnen wird ist der Vorkomma
                        // Wert 0
                        anz.setText("0");
                        neue_Zahl = false;
                    }
                    if (vorkomma == true)
                    {
                        vorkomma = false;
                        akt_Text = anz.getText();
                        akt_Text += ".";
                        anz.setText(akt_Text);
                    }
                    break;
                
                default: // alles andre muss ein Zahlenbutton sein
                    
                    if (neue_Zahl == true)
                    {
                        neue_Zahl = false;
                        anz.setText("");
                    }
                    
                    akt_Text = anz.getText();
                    anz.setText("");
                    
                    akt_Text = anz.getText();
                    anz.setText(akt_Text + zeichen);
                    break;
            }
            // hier wird das Ergebnis berechnet und angezeigt
        }
    }
    
    void Berechnung_ausführen()
    {
        double Operand1, Operand2;
        double Ergebnis = 0;
        
        Operand1 = zwischenwert;
        Operand2 = Double.valueOf(anz.getText()).doubleValue();
        
        switch (akt_Operation)
        {
            case '+':
                Ergebnis = Operand1 + Operand2;
                break;
            
            case '-':
                Ergebnis = Operand1 - Operand2;
                break;
            
            case '*':
                Ergebnis = Operand1 * Operand2;
                break;
            
            case '/':
                if (Operand2 != 0)
                    Ergebnis = Operand1 / Operand2;
                
                else
                    Ergebnis = 0;
                break;
        
        }
        
        // Das Ergebnis wird als neuer Zwischenwert gespeichert
        zwischenwert = Ergebnis;
        anz.setText(Double.toString(Ergebnis));
    }
    
    public static void main(String args[])
    {
        // eine Instanz der Fensterklasse anlegen
        Taschenrechner fenster = new Taschenrechner("Taschenrechner");
        
        fenster.pack();
        fenster.setVisible(true);
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
M Einfacher Taschenrechner Java Basics - Anfänger-Themen 2
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
Y Taschenrechner programmieren Java Basics - Anfänger-Themen 3
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
W Taschenrechner mit Switch case Java Basics - Anfänger-Themen 4
W Taschenrechner Java Basics - Anfänger-Themen 11
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
P Taschenrechner mit unendlich vielen Eingabemöglichkeiten Java Basics - Anfänger-Themen 1
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
S Taschenrechner Java Basics - Anfänger-Themen 13
P Taschenrechner Text übertragung Java Basics - Anfänger-Themen 3
S Compiler-Fehler Basic- Taschenrechner/ Fehler Java Basics - Anfänger-Themen 8
S Basic- Taschenrechner? Java Basics - Anfänger-Themen 7
P Hilfe bei Java Taschenrechner Java Basics - Anfänger-Themen 25
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
S Taschenrechner hilfe! Java Basics - Anfänger-Themen 17
H Java Taschenrechner Java Basics - Anfänger-Themen 4
R Variablen Taschenrechner mit Komfortfunktionen Java Basics - Anfänger-Themen 2
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Q simpler Taschenrechner Java Basics - Anfänger-Themen 34
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
R Variablen Weitergehenderr Taschenrechner Java Basics - Anfänger-Themen 4
F Taschenrechner "Error loading class..." Java Basics - Anfänger-Themen 5
M Java Taschenrechner Programmieren Java Basics - Anfänger-Themen 12
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
G Taschenrechner gibt nur 0.0 aus Java Basics - Anfänger-Themen 8
A Taschenrechner programmieren Java Basics - Anfänger-Themen 21
Z Java Taschenrechner Java Basics - Anfänger-Themen 6
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taschenrechner in Java Java Basics - Anfänger-Themen 6
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
J Taschenrechner: Probleme Java Basics - Anfänger-Themen 5
E Taschenrechner problem! Ich komme nicht voran Java Basics - Anfänger-Themen 18
R Erste Schritte Taschenrechner mit Schleife Java Basics - Anfänger-Themen 24
Lord.Djerun (Taschenrechner Netbeans) Komma nur einmal schreiben & 0 ersetzen Java Basics - Anfänger-Themen 1
Z Taschenrechner - Additions/Substraktions/Multiplikations/Divionsketten! Java Basics - Anfänger-Themen 4
D Taschenrechner Frage Java Basics - Anfänger-Themen 12
Z Sehr simpler Taschenrechner - Hilfe! Java Basics - Anfänger-Themen 10
Z Taschenrechner - Wie addiere,multipliziere und subtrahiere ich? Java Basics - Anfänger-Themen 6
D kleiner Taschenrechner mit switch fehlerhaft Java Basics - Anfänger-Themen 1
K Taschenrechner im GUI Java Basics - Anfänger-Themen 2
P Taschenrechner, operatoren Java Basics - Anfänger-Themen 4
D Simpler Taschenrechner Java Basics - Anfänger-Themen 6
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Operatoren Taschenrechner Ergebnis ausgeben Java Basics - Anfänger-Themen 7
A Taschenrechner zeigt Error Java Basics - Anfänger-Themen 7
J Taschenrechner Funktion Java Basics - Anfänger-Themen 18
M Taschenrechner fertigstellung Java Basics - Anfänger-Themen 1
N Methoden Taschenrechner Java Basics - Anfänger-Themen 2
F z = input.nextChar(); PROBLEM Taschenrechner Java Basics - Anfänger-Themen 7
J Scanner Taschenrechner? Java Basics - Anfänger-Themen 7
J Variablen Rechenzeichen und Zahlen verknüpfen für einen Taschenrechner Java Basics - Anfänger-Themen 17
B Klassen Java Taschenrechner mit Klassen und Methoden Java Basics - Anfänger-Themen 12
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
R Methoden Taschenrechner Java Basics - Anfänger-Themen 4
P Taschenrechner , IF-Abfrage Java Basics - Anfänger-Themen 12
I Taschenrechner - Methoden implementieren Java Basics - Anfänger-Themen 5
I Java Starthilfe (Taschenrechner) Java Basics - Anfänger-Themen 7
D Erste Schritte Taschenrechner Java Basics - Anfänger-Themen 11
K taschenrechner - Fehler beim Kürzen eines Bruches finden Java Basics - Anfänger-Themen 20
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
A Taschenrechner programmieren Java Basics - Anfänger-Themen 5
M Ausklappbares Fenster bei grafischem Taschenrechner Java Basics - Anfänger-Themen 2
M Dividieren bei Grafischem Taschenrechner klappt nicht Java Basics - Anfänger-Themen 2
N Taschenrechner mit Unterprogra Java Basics - Anfänger-Themen 6
C Taschenrechner Java Basics - Anfänger-Themen 12
Z Taschenrechner programmieren Java Basics - Anfänger-Themen 5
E Erste Schritte Taschenrechner Java Basics - Anfänger-Themen 8
K Taschenrechner Java Basics - Anfänger-Themen 25
J Textfeld für Taschenrechner Java Basics - Anfänger-Themen 3
D Taschenrechner Java Basics - Anfänger-Themen 28
A Taschenrechner-GUI mit BorderLayout? Java Basics - Anfänger-Themen 6
W [PROJEKT] Simpler grafischer Taschenrechner Java Basics - Anfänger-Themen 8
M Taschenrechner mit JApplet Java Basics - Anfänger-Themen 26
J Grafischen Taschenrechner programmieren - Frage dazu Java Basics - Anfänger-Themen 12
W Taschenrechner Java Basics - Anfänger-Themen 2
T Tasten vom Taschenrechner? Java Basics - Anfänger-Themen 3
S Datentypen Taschenrechner Java Basics - Anfänger-Themen 13
J Taschenrechner Java Basics - Anfänger-Themen 5
J Taschenrechner Java Basics - Anfänger-Themen 9
M While bei einem Taschenrechner Java Basics - Anfänger-Themen 5
F Datentypen Ganz simpler Taschenrechner mit switch Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben