Ergebnis 1 bis 6 von 6
  1. #1
    Pinzo Pinzo ist offline
    Avatar von Pinzo

    Java Taschenrechner

    Hallo, ich bins nochmal...

    hab mittlerweile einen Rechner hinbekommen, nur funktioniert der "Clear-Button" noch nicht.

    Betreffender Code:

    Code:
     public void calculate(double x)
       {
          if (lastCommand.equals("+")) result += x;
          else if (lastCommand.equals("-")) result -= x;
          else if (lastCommand.equals("*")) result *= x;
          else if (lastCommand.equals("/")) result /= x;
          else if (lastCommand.equals("=")) result = x;
          else if (lastCommand.equals("CE")) ;//wie bekomm ich es hin, dass das Eingabefeld zurückgesetzt wird?
          display.setText("" + result);
       }
    Ja, die Frage ist, wie ich in das Display wieder ne 0 bekomme...bekomm das einfach nicht hin?! oO

    Danke für die Hilfe... :/

  2. Anzeige

    Java Taschenrechner

    Schau dir mal diesen Bereich an. Dort ist für jeden was dabei!
  3. #2
    moe_re

    AW: Java Taschenrechner

    Überschreib das Textfeld doch einfach mit einer 0 per setText

  4. #3
    Pinzo Pinzo ist offline
    Avatar von Pinzo

    AW: Java Taschenrechner

    Funktioniert bei mir nicht.

    Hab mir gedacht, dass ich eine eigene Methode definiere, die immer dann aufgerufen wird, wenn der Button gedrückt wird.

    Code:
    public void calculate(double x)
       {
          if (lastCommand.equals("+")) result += x;
          else if (lastCommand.equals("-")) result -= x;
          else if (lastCommand.equals("*")) result *= x;
          else if (lastCommand.equals("/")) result /= x;
          else if (lastCommand.equals("=")) result = x;
          else if (lastCommand.equals("CE")) ClearEverything;//wie bekomm ich es hin, dass das Eingabefeld zurückgesetzt wird?
          display.setText("" + result);
       }
    
    private void ClearEverything{
    //was kommt dann hier rein?
    //display.setText("0"); funktioniert nicht
    }

  5. #4
    moe_re

    AW: Java Taschenrechner

    probiers mal mit:

    Code:
    display.setText("");


    edit: sollte das nicht funktionieren, ist was anderes faul. Eventuell postet du mal den kompletten Code

  6. #5
    Pinzo Pinzo ist offline
    Avatar von Pinzo

    AW: Java Taschenrechner

    Code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    
    public class Calculator
    {
       public static void main(String[] args)
       {
          RechnerFrame frame = new RechnerFrame();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setVisible(true);
       }
    }
    
    class RechnerFrame extends JFrame
    {
       public RechnerFrame()
       {
          setTitle("Pirmins Taschenrechner");
          RechnerPanel panel = new RechnerPanel();
          add(panel);
          setSize(500, 500);
       }
    }
    
    class RechnerPanel extends JPanel
    {
       public RechnerPanel()
       {
          setLayout(new BorderLayout());
    
          result = 0;
          lastCommand = "=";
          start = true;
    
          display = new JButton("0");
          display.setEnabled(false);
          add(display, BorderLayout.NORTH);
    
          ActionListener insert = new InsertAction();
          ActionListener command = new CommandAction();
    
          panel = new JPanel();
          panel.setLayout(new GridLayout(4, 5));
    
          addButton("7", insert);
          addButton("8", insert);
          addButton("9", insert);
          addButton("CE", command);
          addButton("/", command);
    
          addButton("4", insert);
          addButton("5", insert);
          addButton("6", insert);
          addButton("", command);
          addButton("*", command);
    
          addButton("1", insert);
          addButton("2", insert);
          addButton("3", insert);
          addButton("", insert);
          addButton("-", command);
    
          addButton("0", insert);
          addButton(",", insert);
          addButton("=", command);
          addButton("", insert);
          addButton("+", command);
    
          add(panel, BorderLayout.CENTER);
       }
    
       private void addButton(String label, ActionListener listener)
       {
          JButton button = new JButton(label);
          button.addActionListener(listener);
          panel.add(button);
       }
    
       private class InsertAction implements ActionListener
       {
          public void actionPerformed(ActionEvent event)
          {
             String input = event.getActionCommand();
             if (start)
             {
                display.setText("");
                start = false;
             }
             display.setText(display.getText() + input);
          }
       }
    
       /**
        * Ausführen? Neue Klasse?
        */
       private class CommandAction implements ActionListener
       {
          public void actionPerformed(ActionEvent event)
          {
             String command = event.getActionCommand();
    
             // Was mach ich bei negativen Zahlen?
             if (start)
             {
                if (command.equals("-"))
                {
                   display.setText(command);
                   start = false;
                }
                else
                   lastCommand = command;
             }
             else
             {
                // Rechnungen
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
             }
          }
       }
    
    
     public void clear() {
    
           result = 0;
           display.setText("result");
    
    
       }
    
       public void calculate(double x)
       {
          if (lastCommand.equals("+")) result += x;
          else if (lastCommand.equals("-")) result -= x;
          else if (lastCommand.equals("*")) result *= x;
          else if (lastCommand.equals("/")) result /= x;
          else if (lastCommand.equals("=")) result = x;
          else if (lastCommand.equals("CE")) //wie bekomm ich es hin, dass das Eingabefeld zurückgesetzt wird?
          display.setText("" + result);
       }
     
    
       private JButton display;
       private JPanel panel;
       private double result;
       private String lastCommand;
       private boolean start;
    }
    Das ist schon alles...

  7. #6
    moe_re

    AW: Java Taschenrechner

    Was hat es mit der Variable "start" auf sich? Die scheint das Problem zu sein und andere Funktionen werden ausgehebelt.

Ähnliche Themen


  1. PHP Programmierung (Taschenrechner): Hey Leute wir müssen in der Schule mithilfe von HTML und PHP einen Taschenrechner "programmieren". Könnt ihr mir eine kleine Hilfestellung geben...

  2. suche Taschenrechner: Hallo ich suche einen Taschenrechner mit Wertetabellenfuntion. Müssten eig. alle Taschenrechner haben (die für die Schule geeigneten) :) Bitte...

  3. Taschenrechner Problem: Hey, hab mir letzten Freitag einen neuen Taschenrechner gekauft und gerade bei den Hausaufgaben einen kleinen "Fehler" entdeckt. Wenn ich jetzt...

  4. Java Programm<-->Java Applet: Hallo Leute, ich versuche grade, mir Java beizubringen, hab das mittlerweile auch in der Schule. Altbekannt ist da natürlich der Taschenrechner....

  5. psp taschenrechner !: ey leute habe gehört das nen psp taschenrechner draußen ist nur ne frage wo kann ich mir das runterladen und in welchen ordner musst das hin kann...