Cet article résume les méthodes courantes pour rédiger des calculatrices en Java. Partagez-le pour votre référence, comme suit:
Méthode 1:
Package wanwa; import java.awt. *; import java.awt.event. *; importer javax.swing. *; Calculatrice de classe publique étend JFrame {Conteneur de conteneur privé; Private GridBaglayout Layout Résultat; // Enregistrer le calcul Résultat Démarrage booléen privé; // Déterminer s'il s'agit du début d'un nombre public Calculator () {super ("calculator"); contener = getContentPane (); Layout = new GridBaglayout (); Container.SetLayout (Layout); contraints = new GridBagConstraints (); start = true; résultat = 0; JTextfield (20); displayField.SethorizontalAlignment (jTextField.Right); contraints.gridx = 0; contraintes.gridy = 0; contraintes.gridwidth = 4; contraints.gridheight = 1; contraints.fill = gridbagConstraints.both; contraintes.onightx = 100; contraints. poids 100; Layout.SetConstraints (DisplayField, Contraintes); Container.Add (DisplayField); ActionListener Insert = new INSERTACTION (); ActionListener Command = new CommandAction (); // AddButton ("Backspace", 0, 1, 2, 1, Insert); 1, insert); addButton ("7", 0, 2, 1, 1, insérer); addButton ("8", 1, 2, 1, 1, insérer); AddButton ("9", 2, 2, 1, 1, insert); AddButton ("/", 3, 2, 1, 1, Command); Addbutton ("4", 0, 3, 1, 1, 1, INSERT); addButton ("5", 1, 3, 1, addButton ("6", 2, 3, 1, 1, insert); addButton ("*", 3, 3, 1, 1, commande); addButton ("1", 0, 4, 1, 1, insert); addbutton ("2", 1, 1, 1, 1, insert); 1, insert); addButton ("-", 3, 4, 1, 1, commande); addButton ("0", 0, 5, 1, 1, insérer); // addButton ("+/-", 1, 5, 1, 1, 1, 1, insert); // affiche unique insert); addButton ("+", 3, 5, 1, 1, commande); addButton ("=", 0, 6, 4, 1, commande); this.setResiSable (false); setSize (180, 200); setVisible (true);} private void addButton (label string, int row, int colmn, int, int height, actionnener écouteur) {jbutton bouton = new Jbutton (label); contraints.gridx = row; contraints.gridy = colonne hauteur; contrainnts.fill = gridbagConstraints.both; bouton.addactionListener (écouteur); Layout.SetConstraints (bouton, contraintes); contener.add (bouton);} insertaction de classe privée implémente ActionListener (public void ActionPerformed (ActionEvent event) {string entrée = event.getActionComand (); = false; if (input.equals ("+/-")) displayField.seTText (displayField.getText () + "-");} if (! input.equal 1));} else if (input.equals ("ce") || input.equals ("c")) {displayField.seTText ("0"); start = true;} elsedisplayfield.setText (displayField.getText () + input);}}} private ClassActive Implance evt.getActionCommand (); if (start) {LastCommand = Command; } else {calcul (double.parsedouble (displayField.getText ())); LastCommand = Command; start = true; }}} public void calcul (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; x; displayField.seTText ("" + Result);} public static void main (String [] args) {calculator calcul = new calculator (); calculator.setdefaultCloseOperation (jframe.exit_on_close);}}Méthode 2:
import java.awt. *; import java.awt.event. *; classe publique mycalculator {cadre privé f; Private TextField tf = new TextField (30); résultat long privé; APPENDE BOOLEAN PRIVÉ = FALSE; Opérateur de charle privé = '='; bouton privé [] btn = nouveau bouton [15]; public myCalculator () {INNITCOMPONNENT (); } private void initComponent () {f = new Frame ("My Calculator v1.0"); f.setLayout (new BorderLayout ()); // Le cadre utilise BorderLayout F.AddWindowListener (new WindowAdapter () {public void windowClosing (WindowEvent EVT) {System.Exit (0);}}); Panel CenterPanel = nouveau panneau (); CenterPanel.SetLayout (New GridLayout (5, 3)); // Le panneau utilise GridLayout NumberListener NL = new NumberListener (); OperatorListener ol = new OperatorListener (); btn [10] = nouveau bouton ("+"); btn [11] = nouveau bouton ("-"); btn [12] = nouveau bouton ("*"); btn [13] = nouveau bouton ("/"); btn [14] = nouveau bouton ("="); for (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 = nouveau panneau (); tf.setEdIT (false); 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 (); } / ** * Utilisez la méthode de classe interne pour implémenter l'interface de l'écoute pour faciliter l'accès aux membres internes de la classe principale de la classe. * Cette classe est responsable de l'écoute et de la gestion des événements d'action du bouton de numéro * / class NumberListener implémente ActionListener {public void ActionPerformed (ActionEvent e) {if (! APPEND) {tf.seTTeTXt (""); append = true; } String s = tf.getText (); s + = e.getActionCommand (); tf.seTText (s); if (! btn [10] .Senseable ()) {pour (int i = 10; i <= 14; i ++) btn [i] .setEnabled (true); }}} / ** * Classe interne de membre, responsable de la gestion des événements des boutons de l'opérateur * / classe opératorListener implémente ActionListener {public void ActionperFormed (ActionEvent e) {if (! Annex) return; pour (int i = 10; i <= 14; i ++) btn [i] .setEnabled (false); String s = tf.getText (); long num = long.parselong (s); // Obtenez le nombre de TextField APPEND = false; // Définissez le commutateur APPEND (opérateur) {case '+': résultat + = num; break; case '-': résultat- = num; pause; case '*': résultat * = num; pause; case '/': {if (num == 0) result = 0; else result / = num; casser; } case '=': résultat = num; break; } tf.seTText (string.valueof (result)); // Définissez la valeur du résultat sur TextField String op = e.getActionCommand (); opérateur = op.charat (0); // Définir l'opérateur}}}Méthode 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 / t / t / t / t *"); for use: 1. Addition 2. Subtraction 3. Multiplication 4. Division*");System.out.println("*/t/t/t/t/t/t*");System.out.println("***************************************************************");for(int i = 0; i <100; i ++) {System.out.print ("/ nplease Sélectionnez les règles d'opération:"); int num = input.nextint (); Switch (num) {cas 1: System.out.println ("/ n ****** Vous avez sélectionné Addition ***** / n"); System.out.print ("s'il vous plaît entrez le premier addition IS: "+ jiasshu1 +" + "+ jiasshu1 +" = "+ (jiasshu1 + jiasshu2)); break; cas 2: System.out.println (" / n ****** vous avez sélectionné la sous-traction ******* / n "); System.out.print (" s'il vous plaît entrez la sous-traction: "); int jianshu1 = apport.next (); Entrez la soustraction: "); int jianshu2 = input.nextint (); System.out.println (" Le résultat de l'opération est: "+ jianshu1 +" - "+ jianshu2 +" = "+ (jianshu1 - jianshu2) multiplication*******/n");System.out.print("Please enter the first factor:");int chengfa1 = input.nextInt();System.out.print("Please enter the second factor:");int chengfa2 = input.nextInt();System.out.println("The operation result is:" + chengfa1 + " * " + chengfa2 + " = " + (Chengfa1 * Chengfa2)); Break; Case 4: System.out.println ("/ n ****** Vous avez sélectionné la division ******* / n"); System.out.print ("s'il vous plaît entrez le diviseur:"); Double Chufa1 = Input.nextint (); System.out.print ("s'il vous plaît entrez le Divisor:"); Double Chufa2 = input.nextint (); System.out.println ("Le résultat de l'opération est:" + chufa1 + "/" + chufa2 + "=" + (chufa1 / chufa2) + "yu" + (chufa1% chufa2)); break; default: System.out.println ("/ nyour choix est erroné, s'il vous plaît re-secled!"); Break}}}}}Méthode 4:
Package wanwa; import java.awt. *; import java.awt.event. *; importer javax.swing. *; Calculatrice de classe publique étend JFrame {Conteneur de conteneur privé; Private GridBaglayout Layout Résultat; // Enregistrer le calcul Résultat Démarrage booléen privé; // Déterminer s'il s'agit du début d'un nombre public Calculator () {super ("calculator"); contener = getContentPane (); Layout = new GridBaglayout (); Container.SetLayout (Layout); contraints = new GridBagConstraints (); start = true; résultat = 0; JTextfield (20); displayField.SethorizontalAlignment (jTextField.Right); contraints.gridx = 0; contraintes.gridy = 0; contraintes.gridwidth = 4; contraints.gridheight = 1; contraints.fill = gridbagConstraints.both; contraintes.onightx = 100; contraints. poids 100; Layout.SetConstraints (DisplayField, Contraintes); Container.Add (DisplayField); ActionListener Insert = new INSERTACTION (); ActionListener Command = new CommandAction (); // AddButton ("Backspace", 0, 1, 2, 1, Insert); 1, insert); addButton ("7", 0, 2, 1, 1, insérer); addButton ("8", 1, 2, 1, 1, insérer); AddButton ("9", 2, 2, 1, 1, insert); AddButton ("/", 3, 2, 1, 1, Command); Addbutton ("4", 0, 3, 1, 1, 1, INSERT); addButton ("5", 1, 3, 1, addButton ("6", 2, 3, 1, 1, insert); addButton ("*", 3, 3, 1, 1, commande); addButton ("1", 0, 4, 1, 1, insert); addbutton ("2", 1, 1, 1, 1, insert); 1, insert); addButton ("-", 3, 4, 1, 1, commande); addButton ("0", 0, 5, 1, 1, insérer); // addButton ("+/-", 1, 5, 1, 1, 1, 1, insert); // affiche unique insert); addButton ("+", 3, 5, 1, 1, commande); addButton ("=", 0, 6, 4, 1, commande); this.setResiSable (false); setSize (180, 200); setVisible (true);} private void addButton (label string, int row, int colmn, int, int height, actionnener écouteur) {jbutton bouton = new Jbutton (label); contraints.gridx = row; contraints.gridy = colonne hauteur; contrainnts.fill = gridbagConstraints.both; bouton.addactionListener (écouteur); Layout.setConstraints (bouton, contraintes); contener.add (bouton);} insertaction de classe privée implémente ActionListener (public void ActionPerformed (ActionEvent event) {string entrée = event.getActionComand (); = false; if (input.equals ("+/-")) displayField.seTText (displayField.getText () + "-");} if (! input.equal 1));} else if (input.equals ("ce") || input.equals ("c")) {displayField.seTText ("0"); start = true;} elsedisplayfield.setText (displayField.getText () + input);}}} private ClassActive Implance evt.getActionCommand (); if (start) {LastCommand = Command; } else {calcul (double.parsedouble (displayField.getText ())); LastCommand = Command; start = true; }}} public void calcul (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; x; displayField.seTText ("" + Result);} public static void main (String [] args) {calculator calcul = new calculator (); calculator.setdefaultCloseOperation (jframe.exit_on_close);}}J'espère que cet article sera utile à la programmation Java de tous.