Ergebnis 1 bis 6 von 6
Thema: Java Taschenrechner
-
15.11.2010, 23:45 #1Pinzo
Java Taschenrechner
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); }
Danke für die Hilfe... :/
-
-
16.11.2010, 04:02 #2moe_re
AW: Java Taschenrechner
Überschreib das Textfeld doch einfach mit einer 0 per setText
-
16.11.2010, 15:06 #3Pinzo
AW: Java Taschenrechner
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 }
-
16.11.2010, 15:22 #4moe_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
-
16.11.2010, 18:20 #5Pinzo
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; }
-
16.11.2010, 19:35 #6moe_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
-
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... -
Elektronik suche Taschenrechner
suche Taschenrechner: Hallo ich suche einen Taschenrechner mit Wertetabellenfuntion. Müssten eig. alle Taschenrechner haben (die für die Schule geeigneten) :) Bitte... -
Taschenrechner Problem: Hey, hab mir letzten Freitag einen neuen Taschenrechner gekauft und gerade bei den Hausaufgaben einen kleinen "Fehler" entdeckt. Wenn ich jetzt... -
Coding Java Programm<-->Java Applet
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.... -
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...
Hm grundsätzlich immer ist ein Widerspruch du Arschloch!
Club der ZS-Elite