Este artículo comparte las funciones de Java que implementan una calculadora simple. El contenido específico es el siguiente
tema:
Escriba un programa que simule una calculadora. Agregue un cuadro de texto al panel (mostrando claves y resultados de cálculo),
10 botones numéricos (0 ~ 9), 4 botones de operación (sumar, restar, multiplicar, dividir), un botón de signo igual y un botón transparente.
Requiere que las teclas y los resultados se muestren en el cuadro de texto.
Pantalla del proceso del código:
import java.awt.container; 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 extiende JFrame implementa ActionListener {private jpanel p1 = new jpanel (); // Crear panel privado jpanel p2 = new jpanel (); // Crear panel privado JTextfield T1; // El cuadro de texto 1 se utiliza para mostrar información de entrada StringBuffer Str; // String de entrada JButton [] b = nuevo JButton [10]; JButton B1, B2, B3, B4, B5, B6; // 16 botones dobles x, y; int n; Public Exercise1 () {super ("Gran objetivo del capitán falso"); setSize (350,300); // establecer el tamaño de la ventana setLocationRelativeto (nulo); // Mostrar al contenedor medio c = getContentPane (); // Crear el objeto del panel de contenido t1 = new JTextField (25); t1.setEditable (falso); // Solo visualización, p2.add (t1); // Agregar cuadros de texto al panel P2.SetLayout (nuevo GridLayout (3,2)); // Diseñe la cara a 4 filas y 1 columna str = new StringBuffer (); // Instale cada botón para (int i = 0; i <10; i ++) // Establecer etiquetas para los botones 0 ~ 9 en la matriz, y registre el oyente {String S = ""+i; b [i] = nuevo JButton (s); b [i] .AddactionListener (esto); } b1 = new JButton ("+"); b2 = nuevo JButton ("-"); b3 = nuevo JButton ("*"); b4 = nuevo JButton ("/"); b5 = nuevo JButton ("="); b6 = nuevo JButton ("Eliminar"); // Agregar al panel 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 (nuevo GridLayout (4,5,10,10)); // registra el oyente b1.addactionListener (esto); b2.AddactionListener (esto); b3.addactionListener (esto); b4.AddactionListener (esto); b5.AddactionListener (esto); b6.AddactionListener (esto); // Agregue el contenido al panel y agregue al contenedor C.Add (P2); C.Add (P1); c.setLayout (new FlowLayout ()); // Establecer en el diseño secuencial // Establecer la acción de cierre de la ventana setDefaultCloseOperation (jframe.exit_on_close); // Establecer ventana Cerrar acción setVisible (true); // Establecer en Visible SetResizable (falso); // El tamaño del marco está prohibido} public static void main (string [] args) {// todo método generado automático stub @suppleswarnings ("no usado") ejercicio1 calcule = new ejercicio1 (); } @Override public void ActionPerformed (ActionEvent E) {// TODO Auto Generado STUB if (E.GetSource () == B6) {t1.setText ("0"); // claro t1.sethorizontalAlignment (jTextfield.right); // alineando a la derecha str.setLength (0); } //Double.parsedOuble convierte la cadena en doble tipo //t1.gettext (). Trim () Obtener el personaje guardado y borra el más if (E.getSource () == B1) // Haga clic en el botón más para obtener el valor de x y borrar el valor de y {x = doble str.setLength (0); y = 0d; n = 0; } else if (e.getSource () == b2) // operación de sustracción {x = double.parsedOuble (t1.gettext (). trim ()); str.setLength (0); y = 0d; n = 1; } else if (e.getSource () == B3) // Operación múltiple {x = double.parsedubo (t1.gettext (). Trim ()); str.setLength (0); y = 0d; n = 2; } else if (e.getSource () == B4) // Divide la operación {x = double.parsedubo (t1.gettext (). Trim ()); str.setLength (0); y = 0d; n = 3; } else if (e.getSource () == b5) // signo igual {str.setLength (0); switch (n) {case 0: t1.setText (""+(x+y)); break; caso 1: t1.setText (""+(xy)); ruptura; caso 2: t1.setText (""+(x*y)); break; caso 3: t1.setText (""+(x/y)); ruptura; }} else {if (e.getSource () == b [0]) {if (t1.gettext (). Trim (). Equals ("0") // Si la pantalla es cero, no funciona {} más t1.settext (str.append (e.getActionCommand ()). toString ()); t1.SethorizontalAlignment (jTextfield.right); y = doble } else {t1.settext (str.append (e.getActionCommand ()). ToString ()); t1.SethorizontalAlignment (jTextfield.right); y = doble }}}}Resumen: El código es un poco largo, pero no es complicado después de una comprensión real. Por supuesto, esto es solo una calculadora de simulación simple.
También se pueden agregar otras características. Por ejemplo, agregar operaciones exponenciales, operaciones exponentes, operaciones cuadradas o hacer que la interfaz sea hermosa,
Agregue un cuadro de texto de resultado, con el número ingresado que se muestra arriba y el resultado que se muestra a continuación. Por supuesto, por decir tanto, todavía depende de los lectores estudiarlo ellos mismos.
Todo lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.