Dieser Artikel fasst gemeinsame Methoden zum Schreiben von Taschenrechnern in Java zusammen. Teilen Sie es für Ihre Referenz wie folgt weiter:
Methode 1:
Paket wanwa; import Java.awt.*; Import Java.awt.event.*; Import Javax. Ergebnis; // Berechnungsergebnis speichern. JTextField (20); DisplayField.Sethorizontalalignment (jTextfield.Right); Einschränkungen.Gridx = 0; Einschränkungen.Gridy = 0; Einschränkungen.Gridwidth = 4; Einschränkungen. GridHeight = 1; cornets.fill = gridbagcons.both; Einschränkungen); Container.Add (DisplayField); ActionListener Insert = new InsertAction (); ActionListener -Befehl = neue BefehlsAction (); // addbutton ("Backspace", 0, 1, 2, 1, Insert); // addbutton ("CE", 2, 1, 1, 1, 1, 1, Insert). 2, 1, 1, Insert); addbutton ("8", 1, 2, 1, 1, Insert); addbutton ("9", 2, 2, 1, 1, Einfügung); addbutton ("/", 3, 2, 1, 1, 1, Befehl); 1, 1, Insert); addbutton ("*", 3, 3, 1, 1, Befehl); addbutton ("1", 0, 4, 1, 1, Insert); addbutton ("2", 1, 4, 1, 1, 1, Insert); 5, 1, 1, Insert); // addbutton ("+/-", 1, 5, 1, 1, 1, 1, Insert); // Zeigen Sie nur das "-" Zeichen "+" keinen praktischen Wert Addbutton (".", 2, 5, 1, 1, Insert). this.setResibable (false); setSize (180, 200); setvisible (true);} private void addbutton (String -Label, int Row, int Spalte, int mit, inthohe, actionListener listener) {jbutton button = new jbutton (label); cornection.gridx = cornection; correkts.gridy = columnts. Höhe; Constraains.Fill = GridbagConstraints.Both; Button.AddactionListener (Listener); Layout.SetConstraints (Taste, Einschränkungen); Container. false;if (input.equals("+/-"))displayField.setText(displayField.getText() + "-");}if (!input.equals("+/-")) { if (input.equals("Backspace")) { String str = displayField.getText();if (str.length() > 0) displayField.setText(str.substring(0, str.length() - 1));} else if (input.equals ("CE") || input.equals ("c") {displayField.setText ("0"); start = true;} ElseDisplayField evt.getActionCommand (); if (start) {lastCommand = command; } else {calculate (double.ParSeDoUlble (displayField.getText ())); lastCommand = Befehl; start = true; }}} public void calculate (double x) {if (lastcommand.equals (" +") Ergebnis += x; else if (lastCommand.equals (" -") Ergebnis -= x; sonst (lastCommand.equals (" *") Ergebnis *= x; else (letztes command.equals (")) result. x; displayField.setText ("" + result);} public static void main (String [] args) {Calculator calculat = new calculator (); recherator.setDefaultCloseOperation (jframe.exit_on_close);}}Methode 2:
import Java.awt.*; Import Java.awt.event. Private TextField TF = neues Textfeld (30); Privat langes Ergebnis; private boolean append = false; privater Zeichen operator = '='; private Taste [] btn = neue Taste [15]; public mycalculator () {initComponent (); } private void initComponent () {f = neuer Frame ("Mein Rechner v1.0"); F.SetLayout (New BorderLayout ()); // Der Rahmen verwendet BorderLayout f.addwindowlistener (neuer Fensteradapter () {public void windowsClosing (windowEvent evt) {System.exit (0);}}); Panel CenterPanel = New Panel (); CenterPanel.SetLayout (neuer GridLayout (5, 3)); // Das Panel verwendet GridLayout NumberListener nl = new numberListener (); OperatorListener ol = new OperatorListener (); btn [10] = neue Taste ("+"); btn [11] = neue Taste ("-"); btn [12] = neue Taste ("*"); btn [13] = neue Taste ("/"); btn [14] = neue Taste ("="); für (int i = 0; i <= 9; i ++) {btn [i] = new button (string.Valueof (i)); Centerpanel.add (Btn [i]); btn [i] .addactionListener (nl); if (i%2 == 1) {centerpanel.add (btn [(i+19)/2]); BTN [(i+19)/2] .AddactionListener (OL); }} f.add (CenterPanel, BorderLayout.Center); Panel Northpanel = New Panel (); tf.seteditable (falsch); Northpanel.Add (TF); F.Add (Northpanel, BorderLayout.North); } public void go () {f.pack (); f.setvisible (true); } public static void main (String [] args) {new mycalculator (). go (); } /***Verwenden Sie die interne Klassenmethode, um die Listener -Schnittstelle zu implementieren, um den Zugriff auf interne Mitglieder der Hauptklasse innerhalb der Klasse zu erleichtern. *Diese Klasse ist für das Hören und Handling von Aktionsereignissen der Nummer der Nummer verantwortlich*/ class NumberListener implementiert actionListener {public void actionPerformed (actionEvent e) {if (! Append) {tf.setText (""); append = true; } String s = tf.getText (); s+= e.getActionCommand (); tf.setText (s); if (! btn [10] .Isenabled ()) {für (int i = 10; i <= 14; i ++) btn [i] .setEnabled (true); }}} / *** Mitglied der internen Klasse, verantwortlich für die Ereignisbehandlung von Operator -Schaltflächen* / Klasse OperatorListener implementiert ActionListener {public void actionPerformed (actionEvent e) {if (! Append) return; für (int i = 10; i <= 14; i ++) btn [i] .setEnabled (false); String S = Tf.GeteText (); long num = long.Parselong (s); // Die Anzahl der Textfield append = false; // Append Switch (Operator) {case '+': result+= num; break; Fall '-': result- = num; brechen; Fall '*': Ergebnis*= num; brechen; Fall '/': {if (num == 0) result = 0; sonst Ergebnis/= num; brechen; } case '=': result = num; brechen; } tf.setText (string.ValueOf (result)); // Setzen Sie den Wert des Ergebniss auf TextField String op = E.GetactactactionCommand (); operator = op.charat (0); // Bediener}}} festlegenMethode 3:
package wanwa;import java.util.*;public class calc {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("******************************");System.out.println("*/t/t/t/t/t/t*");System.out.println("* Instructions Für die Verwendung: 1. Addition 2. Subtraktion 3. Multiplikation 4. Division*"); System.out.println ("*/t/t/t/t/t/t*"); system.println (" ******************************************* i = 0; i <100; i ++) {System.out.print ("/nPlease Wählen Sie die Betriebsregeln aus:"); int num = input.NextInt (); Switch (num) {Fall 1: System.out.println ("/n ****** Sie haben Addition *******/n"); System.out.print ("Bitte den ersten Adder eingeben:"); int jishu1 = input.Nextint (); System.out.Print ("Bitte geben Sie den zweiten Adder:"). ist: " + jishu1 +" + " + Jishu1 +" = " + (jishu1 + jishu2)); break; Fall 2: system.out.println ("/n ****** Sie haben die Subtraktion ausgewählt *******/n "); input.Nextint (); System.out.print ("Bitte geben Sie die Subtraktion ein:"); int jianshu2 = input.Nextint (); System.out.println ("Das Operationsergebnis ist:" + jianshu1 + " -" + Jianshu2 + "=" + (jianshu1 - jianshu2); Multiplikation *******/n "); System.out.print (" Bitte geben Sie den ersten Faktor ein: "); int chengfa1 = input.NextInt (); System.out.print (" Bitte geben Sie den zweiten Faktor ein;); (Chengfa1*Chengfa2)); Break; Fall 4: System.out.println ("/n ****** Sie haben die Abteilung ausgewählt *******/n"); System.out.print (Bitte geben Sie den Teilung ein. input.nextint (); System.out.println ("Das Operationsergebnis ist:" + chufa1 + " /" + chufa2 + "=" + (chufa1 / chufa2) + "yu" + (chufa1 % Chufa2));Methode 4:
Paket wanwa; import Java.awt.*; Import Java.awt.event.*; Import Javax. Ergebnis; // Berechnungsergebnis speichern. JTextField (20); DisplayField.Sethorizontalalignment (jTextfield.Right); Einschränkungen.Gridx = 0; Einschränkungen.Gridy = 0; Einschränkungen.Gridwidth = 4; Einschränkungen. GridHeight = 1; cornets.fill = gridbagcons.both; Einschränkungen); Container.Add (DisplayField); ActionListener Insert = new InsertAction (); ActionListener -Befehl = neue BefehlsAction (); // addbutton ("Backspace", 0, 1, 2, 1, Insert); // addbutton ("CE", 2, 1, 1, 1, 1, 1, Insert). 2, 1, 1, Insert); addbutton ("8", 1, 2, 1, 1, Insert); addbutton ("9", 2, 2, 1, 1, Einfügung); addbutton ("/", 3, 2, 1, 1, 1, Befehl); 1, 1, Insert); addbutton ("*", 3, 3, 1, 1, Befehl); addbutton ("1", 0, 4, 1, 1, Insert); addbutton ("2", 1, 4, 1, 1, 1, Insert); 5, 1, 1, Insert); // addbutton ("+/-", 1, 5, 1, 1, 1, 1, Insert); // Zeigen Sie nur das "-" Zeichen "+" keinen praktischen Wert Addbutton (".", 2, 5, 1, 1, Insert). this.setResibable (false); setSize (180, 200); setvisible (true);} private void addbutton (String -Label, int Row, int Spalte, int mit, inthohe, actionListener listener) {jbutton button = new jbutton (label); cornection.gridx = cornection; correkts.gridy = columnts. Höhe; Constraains.Fill = GridbagConstraints.Both; Button.AddactionListener (Listener); Layout.SetConstraints (Taste, Einschränkungen); Container. false;if (input.equals("+/-"))displayField.setText(displayField.getText() + "-");}if (!input.equals("+/-")) { if (input.equals("Backspace")) { String str = displayField.getText();if (str.length() > 0) displayField.setText(str.substring(0, str.length() - 1));} else if (input.equals ("CE") || input.equals ("c") {displayField.setText ("0"); start = true;} ElseDisplayField evt.getActionCommand (); if (start) {lastCommand = command; } else {calculate (double.ParSeDoUlble (displayField.getText ())); lastCommand = Befehl; start = true; }}} public void calculate (double x) {if (lastcommand.equals (" +") Ergebnis += x; else if (lastCommand.equals (" -") Ergebnis -= x; sonst (lastCommand.equals (" *") Ergebnis *= x; else (letztes command.equals (")) result. x; displayField.setText ("" + result);} public static void main (String [] args) {Calculator calculat = new calculator (); recherator.setDefaultCloseOperation (jframe.exit_on_close);}}Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.