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...
20...
User vs. Mods