Grafischer Taschenrechner geht nicht :-(

Status
Nicht offen für weitere Antworten.

samy88

Mitglied
Code:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        operator = "PLUS";
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        operator = "MINUS";
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        operator = "GETEILT";
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        operator = "MAL";
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        berechnen();
        jTextField1.setText(String.valueOf(zahl1));
    }                                        

    public void berechnen(){
        if(operator == "PLUS"){
            zahl1 = zahl1 + Double.parseDouble(jTextField1.getText());
        }else if(operator == "MINUS"){
            zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());
        }else if(operator == "GETEILT"){
            zahl1 = zahl1 / Double.parseDouble(jTextField1.getText());
        }else if(operator == "MAL"){
            zahl1 = zahl1 * Double.parseDouble(jTextField1.getText());
        }
    }

Da kommen solche Sachen raus:
50 - 30 = -80

wo ist mein Fehler?
 

samy88

Mitglied
achso ja stimmt, aber ich hatte den operator vorher mal als int = operator und hab dann durchgezählt von 1-4. und da hat es auch nicht funktioniert
 
S

SlaterB

Gast
> }else if(operator == "MINUS"){
> zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());

->

}else if("MINUS".equals(operator)){
System.out.println("zahl1 war: .., im TextField steht: .., neue zahl1 wird sein: ...");
zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());

Strings nur mit equals vergleichen,
wenn du einen String mehr als einmal im Programm benutzt, dann lege statische Konstanten an un verweise nur auf diese Konstanten,

oder definiere dir gleich Enums, Enum-Werte kannst du dann auch mit == vergleichen


edit:
und Code sparen,
Double.parseDouble(jTextField1.getText());
muss genau einmal in berechnen() stehen, als double-Variable vor den if/else-Block,
nicht 4x oder öfter wiederholen,

---

java.awt.event... muss auch nicht sein in jedem ActionListener, man kann doch Klassen importierten

----
jTextField1.setText("");
jTextField1.requestFocus();
steht 4x in 4 ActionListener, rote Lampe leuchtet
 
Zuletzt bearbeitet von einem Moderator:

sol1x

Mitglied
nur nebenbei es wäre nützlich den Buttons sinnvole Instanznamen zugeben - zB btnMinus oder irgendwie sowas - aber net JButton1, 2 ...
 

Michael...

Top Contributor
Wo der Fehler liegt kann ich nicht sagen. Aber folgendes ist mir aufgefallen:
Code:
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        berechnen();
        jTextField1.setText(String.valueOf(zahl1));
    }
soll vermutlich einfach nur das Ergebnis ausgeben!?! Warum dann der Aufruf von berechnen?
Code:
         if(operator == "PLUS"){
Strings vergleicht man mit equals()
 

samy88

Mitglied
Code:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Plus
        operator = 1;
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Minus
        operator = 2;
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Geteilt
        operator = 3;
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Mal
        operator = 4;
        berechnen();
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {              
        //istGleich                   
        berechnen();
        jTextField1.setText(String.valueOf(zahl1));
    }                                        

    public void berechnen(){
        if(operator == 1){
            zahl1 = zahl1 + Double.parseDouble(jTextField1.getText());
        }else if(operator == 2){
            zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());
        }else if(operator == 3){
            zahl1 = zahl1 / Double.parseDouble(jTextField1.getText());
        }else if(operator == 4){
            zahl1 = zahl1 * Double.parseDouble(jTextField1.getText());
        }
    }

geht immernoch nicht, sagte ich doch^^
 

dergrüne

Aktives Mitglied
Mit was ist den Zahl 1 vorher initialisiert, denke mal 0.0 oder?

Wäre evtl. sinnvoll zahl 1 immer auf 0 zu setzen beim aufrufen von berechne().

Ansonsten wäre es praktisch wenn du den ganzen code mal posten könntest, ansonsten seh ich auch

keinen Grund wieso es falsch berechnet.
 

samy88

Mitglied
Man man man wenn man einmal aufm Schlauch sitzt! :-D

Der Fehler war dass ich schon die erste Zahl dann gerechnet hab:

0 - 50 = -50
-50 - 30 = -80

Code:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Plus
        operator = 1;
        zahl1 = Double.parseDouble(jTextField1.getText());
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Minus
        operator = 2;
        zahl1 = Double.parseDouble(jTextField1.getText());
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Geteilt
        operator = 3;
        zahl1 = Double.parseDouble(jTextField1.getText());
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Mal
        operator = 4;
        zahl1 = Double.parseDouble(jTextField1.getText());
        jTextField1.setText("");
        jTextField1.requestFocus();
    }                                        

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        berechnen();
        jTextField1.setText(String.valueOf(zahl1));
    }                                        

    public void berechnen(){
        if(operator == 1){
            zahl1 = zahl1 + Double.parseDouble(jTextField1.getText());
        }else if(operator == 2){
            zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());
        }else if(operator == 3){
            zahl1 = zahl1 / Double.parseDouble(jTextField1.getText());
        }else if(operator == 4){
            zahl1 = zahl1 * Double.parseDouble(jTextField1.getText());
        }
    }
 

samy88

Mitglied
Hey Leute, hier ist das gute Stück.

Es geht alles, außer wenn man folgende Kombination drückt zb.: 2+2+2+2+2-3
Da ist mir noch nichts einfallen.
Gehen würde aber: 2+2+2+2+2 = -3
Es geht auch die Zahl wie im Windows taschenrechner mit +/- zu machen.
Punkt reinsetzen geht auch :-D
Das C von Windows Taschenrechner geht auch, ist ja nur alles Reseten

Was fehlt: Rücktaste, CE da hab ich kein bock mehr drauf

was haltet ihr davon?
Probiert ihn mal bitte aus :)


Code:
package taschenrechner;


public class TaschenRechner extends javax.swing.JFrame {
    public double zahl1 = 0;
    public int operator = 0;
    public int eingabe  = 0;
    public String s = "";
   
    public TaschenRechner() {
        initComponents();
        setLocationRelativeTo(null);
    }
    
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jTextField1 = new javax.swing.JTextField();
        btnPlus = new javax.swing.JButton();
        btnminus = new javax.swing.JButton();
        btnGeteilt = new javax.swing.JButton();
        btnMal = new javax.swing.JButton();
        btnIstGleich = new javax.swing.JButton();
        btn7 = new javax.swing.JButton();
        btn8 = new javax.swing.JButton();
        btn9 = new javax.swing.JButton();
        btn4 = new javax.swing.JButton();
        btn5 = new javax.swing.JButton();
        btn6 = new javax.swing.JButton();
        btn1 = new javax.swing.JButton();
        btn2 = new javax.swing.JButton();
        btn3 = new javax.swing.JButton();
        btn0 = new javax.swing.JButton();
        btnPlusMinus = new javax.swing.JButton();
        btnPunkt = new javax.swing.JButton();
        btnReset = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setAlwaysOnTop(true);
        setMinimumSize(new java.awt.Dimension(262, 230));
        setResizable(false);

        btnPlus.setText("+");
        btnPlus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPlusActionPerformed(evt);
            }
        });

        btnminus.setText("-");
        btnminus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnminusActionPerformed(evt);
            }
        });

        btnGeteilt.setText("/");
        btnGeteilt.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGeteiltActionPerformed(evt);
            }
        });

        btnMal.setText("*");
        btnMal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnMalActionPerformed(evt);
            }
        });

        btnIstGleich.setText("=");
        btnIstGleich.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnIstGleichActionPerformed(evt);
            }
        });

        btn7.setText("7");
        btn7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn7ActionPerformed(evt);
            }
        });

        btn8.setText("8");
        btn8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn8ActionPerformed(evt);
            }
        });

        btn9.setText("9");
        btn9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn9ActionPerformed(evt);
            }
        });

        btn4.setText("4");
        btn4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn4ActionPerformed(evt);
            }
        });

        btn5.setText("5");
        btn5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn5ActionPerformed(evt);
            }
        });

        btn6.setText("6");
        btn6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn6ActionPerformed(evt);
            }
        });

        btn1.setText("1");
        btn1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn1ActionPerformed(evt);
            }
        });

        btn2.setText("2");
        btn2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn2ActionPerformed(evt);
            }
        });

        btn3.setText("3");
        btn3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn3ActionPerformed(evt);
            }
        });

        btn0.setText("0");
        btn0.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn0ActionPerformed(evt);
            }
        });

        btnPlusMinus.setText("+/-");
        btnPlusMinus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPlusMinusActionPerformed(evt);
            }
        });

        btnPunkt.setText(".");
        btnPunkt.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPunktActionPerformed(evt);
            }
        });

        btnReset.setText("Reset");
        btnReset.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnResetActionPerformed(evt);
            }
        });

        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("created by Samuel Machauer");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btnReset, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btn7, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn8, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn9, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnPlus, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btn4, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn5, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn6, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnminus, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btn1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn2, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn3, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnMal, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btn0, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnPlusMinus, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnPunkt, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btnGeteilt, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(btnIstGleich, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnReset, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn7, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn8, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn9, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnPlus, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn5, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn6, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnminus, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btn3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnMal, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn0, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnPlusMinus, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnPunkt, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnGeteilt, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addComponent(btnIstGleich, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabel1)
                .addGap(9, 9, 9))
        );

        pack();
    }// </editor-fold>

    private void btnPlusActionPerformed(java.awt.event.ActionEvent evt) {                                        
        if(eingabe > 0 && operator == 1){
            operator = 1;
            zahl1 = zahl1 + Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
        }else{
            operator = 1;
            zahl1 = Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
            eingabe = 1;
        }
}                                       

    private void btnminusActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if(eingabe > 0 && operator == 2){
            operator = 2;
            zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
        }else{
            operator = 2;
            zahl1 = Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
            eingabe = 1;
        }
}                                        

    private void btnGeteiltActionPerformed(java.awt.event.ActionEvent evt) {                                           
        if(eingabe > 0 && operator == 3){
            operator = 3;
            zahl1 = zahl1 / Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
        }else{
            operator = 3;
            zahl1 = Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
            eingabe = 1;
        }
}                                          

    private void btnMalActionPerformed(java.awt.event.ActionEvent evt) {                                       
        if(eingabe > 0 && operator == 4){
            operator = 4;
            zahl1 = zahl1 * Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
        }else{
            operator = 4;
            zahl1 = Double.parseDouble(jTextField1.getText());
            jTextField1.setText("");
            jTextField1.requestFocus();
            eingabe = 1;
        }
}                                      

    private void btnIstGleichActionPerformed(java.awt.event.ActionEvent evt) {                                             
        //IstGleich
        berechnen();
        jTextField1.setText(String.valueOf(zahl1));
        jTextField1.requestFocus();
}                                            

    private void btn7ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"7");
}                                    

    private void btn8ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"8");
    }                                    

    private void btn9ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"9");
    }                                    

    private void btn4ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"4");
    }                                    

    private void btn5ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"5");
    }                                    

    private void btn6ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"6");
    }                                    

    private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"1");
    }                                    

    private void btn2ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"2");
    }                                    

    private void btn3ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"3");
    }                                    

    private void btn0ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        s = jTextField1.getText();
        jTextField1.setText(s+"0");
    }                                    

    private void btnPlusMinusActionPerformed(java.awt.event.ActionEvent evt) {                                             
        s = jTextField1.getText();
        if(s.charAt(0)== '-'){
            zahl1 = Double.parseDouble(jTextField1.getText())*-1;
            jTextField1.setText(String.valueOf(zahl1));
        }else{
            zahl1 = Double.parseDouble(jTextField1.getText())*-1;
            jTextField1.setText(String.valueOf(zahl1));
        }
    }                                            

    private void btnPunktActionPerformed(java.awt.event.ActionEvent evt) {                                         
        s = jTextField1.getText();
        jTextField1.setText(s+".");
    }                                        

    private void btnResetActionPerformed(java.awt.event.ActionEvent evt) {                                         
        zahl1 = 0;
        operator = 0;
        eingabe  = 0;
        String s = "";
        jTextField1.setText(s);
        jTextField1.requestFocus();
    }                                        

    public void berechnen(){
        if(operator == 1){
            zahl1 = zahl1 + Double.parseDouble(jTextField1.getText());
        }else if(operator == 2){
            zahl1 = zahl1 - Double.parseDouble(jTextField1.getText());
        }else if(operator == 3){
            zahl1 = zahl1 / Double.parseDouble(jTextField1.getText());
        }else if(operator == 4){
            zahl1 = zahl1 * Double.parseDouble(jTextField1.getText());
        }
    }

    
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TaschenRechner().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton btn0;
    private javax.swing.JButton btn1;
    private javax.swing.JButton btn2;
    private javax.swing.JButton btn3;
    private javax.swing.JButton btn4;
    private javax.swing.JButton btn5;
    private javax.swing.JButton btn6;
    private javax.swing.JButton btn7;
    private javax.swing.JButton btn8;
    private javax.swing.JButton btn9;
    private javax.swing.JButton btnGeteilt;
    private javax.swing.JButton btnIstGleich;
    private javax.swing.JButton btnMal;
    private javax.swing.JButton btnPlus;
    private javax.swing.JButton btnPlusMinus;
    private javax.swing.JButton btnPunkt;
    private javax.swing.JButton btnReset;
    private javax.swing.JButton btnminus;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration

}
 
Zuletzt bearbeitet:

samy88

Mitglied
wie meinst du das? du musst den plus button drücken nicht eingeben
Fehlerbehandlung hab ich weggelassen, ist nur ein programm für die schule. muss nicht perfekt sein..
 
Zuletzt bearbeitet:

max40

Bekanntes Mitglied
Was fehlt Rücktaste, CE, C da hab ich kein bock mehr drauf

was haltet ihr davon?
Probiert ihn mal bitte aus :)

Ich hab auch kein bock zum probieren! Aber im ernst, bevor du weiter Funktionen reinpackst, solltest du den Code vernünftig machen.

1. Warum sind Variablen oben und unten definiert?
2. Viele Methoden die fast ein und das selbe machen
3. Keinen einzeigen Kommentar. Und solche Kommentar "// Variables declaration ..." kann man sich sparen, das sieht jeder auf den ersten Blick!
 

samy88

Mitglied
Mal im ernst, wenn du kein bock hast dann brauchst du auch hier nicht reinschreiben.
1. Ich hab Variablen nur oben definiert. Der rest ist alles von Netbeans automatisch erzeugt!
2. Kann schon sein,... bin halt nicht der beste
3. // Variables declaration ist auch automatisch erzeugt. das hättest du dir denken können

Ich hab das hier schnell gemacht da schreib ich doch keine Kommentare dazu!
Außerdem sind kommentare bei dem Programm unnötig, erklärt sich alles von selbst!
 

max40

Bekanntes Mitglied
Mal im ernst, wenn du kein bock hast dann brauchst du auch hier nicht reinschreiben.
1. Ich hab Variablen nur oben definiert. Der rest ist alles von Netbeans automatisch erzeugt!
2. Kann schon sein,... bin halt nicht der beste
3. // Variables declaration ist auch automatisch erzeugt. das hättest du dir denken können

Ich hab das hier schnell gemacht da schreib ich doch keine Kommentare dazu!
Außerdem sind kommentare bei dem Programm unnötig, erklärt sich alles von selbst!

Das sollte nicht so unfreundlich rüberkommen, wie es anscheint ist, sorry!
Zu punkt 1 und 2, oki, dann liegt das alles an NetBeans, kannst auch nix für!

Dann zu dem "schnell gemacht", das ist das Problem der meisten. Schnell was machen, gucken ob es läuft und wenn es nicht läuft dann das Forum fragen!
Meine Meinung ist, das man die meisten Fehler findet wenn man mal seinen Code Schritt für Schritt durchgeht und dann evtl. dabei den ein oder anderen Kommentar schreibt! 1. Hilft es, wenn man nochmal später an den Code muss und 2. ist man sich dann auch selbst im klaren ob man seinen eigenen Code verstanden hat!
 
V

Vayu

Gast
wenn man

0,5 also 0KOMMA5 eingibt, fliegt ne exception :)

rechnen tut er falsch.
keine inputvalidierung.

nicht zu gebrauchen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W [PROJEKT] Simpler grafischer Taschenrechner Java Basics - Anfänger-Themen 8
C Binärbaum mit grafischer Ausgabe Java Basics - Anfänger-Themen 0
K Compilierfehler bei grafischer Oberfläche Java Basics - Anfänger-Themen 7
M Lottozahlen mit grafischer Oberfläche Java Basics - Anfänger-Themen 6
D Grafischer Oberflächengenerator Java Basics - Anfänger-Themen 7
N Grafischer Zeilensprung Java Basics - Anfänger-Themen 9
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
J Taschenrechner Problemchen Java Basics - Anfänger-Themen 3
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
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

Ähnliche Java Themen

Neue Themen


Oben