Cet article partage les fonctions de la mise en œuvre de la calculatrice simple Java. Le contenu spécifique est le suivant
sujet:
Écrivez un programme qui simule une calculatrice. Ajoutez une zone de texte au panneau (affichage des touches et des résultats de calcul),
10 boutons numériques (0 ~ 9), 4 boutons de fonctionnement (ajouter, soustraire, multiplier, diviser), un bouton de signe égal et un bouton d'effondrement.
Nécessite que les touches et les résultats s'affichent dans la zone de texte.
Affichage du processus de code:
Importer java.awt.connainer; import java.awt.flowlayout; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionListener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jtextfield; public class exercise1 étend jframe implémente actionListener {private jpanel p1 = new JPanel (); // Créer un panneau privé jpanel p2 = new JPanel (); // Créer un panneau privé JTextfield T1; // La zone de texte 1 est utilisée pour afficher les informations d'entrée StringBuffer STR; // String d'entrée jbutton [] b = new Jbutton [10]; JBUTTON B1, B2, B3, B4, B5, B6; // 16 boutons doubles x, y; int n; Exercice public1 () {Super ("Fake Captain's Big Obt"); setSize (350 300); // définir la taille de la fenêtre setLocationRelativeto (null); // montre au conteneur moyen c = getContentPane (); // Créer l'objet du panneau de contenu t1 = new JTextField (25); t1.setEdIT (false); // Affichage uniquement, P2.Add (T1); // Ajouter des zones de texte au panneau P2.SetLayout (new GridLayout (3,2)); // Disposez le visage sur 4 lignes et 1 colonne str = new StringBuffer (); // instance chaque bouton pour (int i = 0; i <10; i ++) // définir les étiquettes pour les boutons 0 ~ 9 dans le tableau et enregistrer l'écouteur {String S = "" + i; b [i] = nouveau jbutton (s); b [i] .addactionListener (this); } b1 = new JButton ("+"); b2 = new Jbutton ("-"); b3 = new Jbutton ("*"); b4 = new Jbutton ("/"); b5 = new Jbutton ("="); b6 = new JButton ("supprimer"); // Ajouter au panneau P1.Add (B [7]); p1.add (b [8]); p1.add (b [9]); P1.Add (B1); p1.add (b [4]); p1.add (b [5]); p1.add (b [6]); P1.Add (B2); p1.add (b [1]); p1.add (b [2]); p1.add (b [3]); P1.Add (B3); p1.add (b [0]); P1.Add (B5); P1.Add (B6); P1.Add (B4); p1.setLayout (nouveau gridLayout (4,5,10,10)); // Enregistrer l'écouteur b1.addactionListener (this); b2.AddactionListener (this); b3.AddactionListener (this); b4.AddactionListener (this); b5.AddactionListener (this); b6.addactionListener (this); // ajouter le contenu au panneau et ajouter au conteneur C.Add (P2); C.ADD (P1); C.SetLayout (new FlowLayout ()); // défini sur la mise en page séquentielle // set fenêtre Close Action setDefaultCloseOperation (jframe.exit_on_close); // Définir la fenêtre Close Action setVisible (true); // défini sur SetResiSable Visible (FALSE); // La taille du trame est interdite} public static void main (String [] args) {// TODO Méthode générée automatiquement Stub @SuppressWarnings ("UNUSED") EXERCIE1 CALCULT = NOUVEAU EXERCIS1 (); } @Override public void ActionPerformed (ActionEvent e) {// TODO Méthode générée automatiquement Stub if (e.getsource () == b6) {t1.setText ("0"); // clear t1.sethorizontalalignment (jTextfield.Right); // Alignement droit str.setLength (0); } //Double.parsedouble convertit la chaîne en double type //t1.getText (). Trim () Obtenez le caractère enregistré et effacez else if (e.getsource () == b1) // cliquez sur le bouton Plus pour obtenir la valeur de x et effacer la valeur de y {x = double.parsedouble (t1.getText (). Trim ()); str.setLength (0); y = 0d; n = 0; } else if (e.getsource () == b2) // opération de soumission {x = double.parsedouble (t1.getText (). Trim ()); str.setLength (0); y = 0d; n = 1; } else if (e.getSource () == b3) // Multiple Operation {x = double.parsedouble (t1.getText (). Trim ()); str.setLength (0); y = 0d; n = 2; } else if (e.getsource () == b4) // diviser l'opération {x = double.parsedouble (t1.getText (). Trim ()); str.setLength (0); y = 0d; n = 3; } else if (e.getsource () == b5) // signe égal {str.setLength (0); switch (n) {case 0: t1.setText ("" + (x + y)); Break; Cas 1: t1.setText ("" + (xy)); Break; Cas 2: t1.setText ("" + (x * y)); Break; Cas 3: T1.SeTText ("" + (x / y)); Break; }} else {if (e.getsource () == b [0]) {if (t1.getText (). Trim (). Equals ("0")) // si l'affichage est zéro, ne fonctionne pas {} else t1.settext (str.append (e.getActionCommand ()). ToSTring ()); t1.sethorizontalalignment (jTextfield.Right); y = double.parsedouble (t1.getText (). Trim ()); } else {t1.setText (str.append (e.getActionCommand ()). ToString ()); t1.sethorizontalalignment (jTextfield.Right); y = double.parsedouble (t1.getText (). Trim ()); }}}}Résumé: Le code est un peu long, mais il n'est pas compliqué après une véritable compréhension. Bien sûr, ce n'est qu'une simple calculatrice de simulation.
D'autres fonctionnalités peuvent également y être ajoutées. Par exemple, l'ajout d'opérations exponentives, les opérations d'exposants, les opérations carrées ou pour rendre l'interface magnifique,
Ajoutez une zone de texte de résultat, avec le numéro entré affiché ci-dessus et le résultat affiché ci-dessous. Bien sûr, pour en dire autant, cela dépend toujours des lecteurs de l'étudier eux-mêmes.
Tout ce qui précède est le contenu complet de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.