Este artigo compartilha as funções do Java implementando a calculadora simples. O conteúdo específico é o seguinte
tópico:
Escreva um programa que simula uma calculadora. Adicione uma caixa de texto ao painel (exibindo as teclas e os resultados do cálculo),
10 botões numéricos (0 ~ 9), 4 botões de operação (Adicionar, subtrair, multiplicar, dividir), um botão de sinal igual e um botão transparente.
Requer que as chaves e os resultados sejam exibidos na caixa de texto.
Exibição do processo de código:
importar java.awt.Container; importar java.awt.flowlayout; importar java.awt.gridlayout; importar java.awt.event.actionEvent; importar java.ilkt.event.actionListener; import javax.swing.jbutton; importação javax.event.jframe; importação; import.swing.jbutton; import.javax.jfrug.jfram; javax.swing.jtextfield; a classe pública Exercício1 estende JFrame implementa ActionListener {private JPanel P1 = new jpanel (); // Crie painel privado jpanel p2 = new jpanel (); // Crie painel privado JTextfield T1; // A caixa de texto 1 é usada para exibir informações de entrada StringBuffer str; // String de entrada jbutton [] b = novo jbutton [10]; JButton B1, B2, B3, B4, B5, B6; // 16 botões duplos x, y; int n; public Exercício1 () {super ("grande objetivo do capitão falso"); SetSize (350.300); // defina o tamanho da janela setLocationRelativeTo (null); // mostra o contêiner do meio c = getContentPane (); // Crie o objeto do painel de conteúdo T1 = novo JTextField (25); t1.seteditable (falso); // Somente exibir, p2.add (t1); // Adicione caixas de texto ao painel P2.SetLayout (New GridLayout (3,2)); // layout o rosto para 4 linhas e 1 coluna str = new stringbuffer (); // instância cada botão para (int i = 0; i <10; i ++) // Defina etiquetas para botões 0 ~ 9 na matriz e registre o ouvinte {string s = ""+i; b [i] = novo jbutton (s); b [i] .AddactionListener (isto); } b1 = novo jbutton ("+"); b2 = novo jbutton ("-"); b3 = novo jbutton ("*"); b4 = novo jbutton ("/"); b5 = novo jbutton ("="); b6 = novo jbutton ("delete"); // Adicione ao painel 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 (New GridLayout (4,5,10,10)); // Registre o ouvinte B1.AddactionListener (this); B2.AddactionListener (isto); B3.AddactionListener (isto); b4.AddactionListener (isto); b5.AddactionListener (isto); B6.AddactionListener (isto); // Adicione o conteúdo ao painel e adicione ao contêiner c.add (p2); C.Add (P1); c.setLayout (new FlowLayout ()); // Defina como layout seqüencial // Definir a janela Fechar Action SetDefaultCloseoperation (jframe.exit_on_close); // Defina a janela Fechar Action SetVisible (true); // defina como setResizable visível (false); // O tamanho do quadro é proibido} public static void main (string [] args) {// TODO Método Gerado automático Stub @suppresswarnings ("não utilizado") Exercício1 calcular = new EXERCÍCIO1 (); } @Override public void ActionPerformed (ActionEvent e) {// TODO Método Gerado automaticamente Stub if (e.getSource () == b6) {t1.settext ("0"); // Clear T1.SETHORIZontalAlignment (JTextfield.right); // alinhando direito str.setLength (0); } //Double.parsedouble converte a string em duplo type //t1.getText (). TRIM () Obtenha o caractere salvo e limpa mais se (e.getSource () == b1) // Clique no botão Plus para obter o valor de x e limpar o valor de y {x = duplo.sedouble (T1.getxt (). str.setLength (0); y = 0d; n = 0; } else if (e.getSource () == b2) // operação de subtração {x = duplo.parseDouble (t1.getText (). TRIM ()); str.setLength (0); y = 0d; n = 1; } else if (e.getSource () == b3) // operação múltipla {x = duplo.parseDouble (t1.getText (). TRIM ()); str.setLength (0); y = 0d; n = 2; } else if (e.getSource () == b4) // Divida operação {x = duplo.parseDouble (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)); quebra; Caso 1: t1.settext (""+(xy)); quebra; Caso 2: t1.settext (""+(x*y)); quebra; Caso 3: t1.settext (""+(x/y)); quebra; }} else {if (e.getSource () == b [0]) {if (t1.getText (). TRIM (). Equals ("0")) // Se a exibição for zero, não opere {} else T1.Settext (str.Append (e.getComCommand ()). Tostring (); T1.SETHORIZontalAlignment (JTextfield.right); y = duplo.parseDouble (t1.getText (). TRIM ()); } else {t1.settext (str.append (e.getActionCommand ()). ToString ()); T1.SETHORIZontalAlignment (JTextfield.right); y = duplo.parseDouble (t1.getText (). TRIM ()); }}}}Resumo: O código é um pouco demorado, mas não é complicado após o entendimento real. Obviamente, esta é apenas uma calculadora de simulação simples.
Outros recursos também podem ser adicionados a ele. Por exemplo, adicionando operações exponenciais, operações de expoente, operações quadradas ou para tornar a interface bonita,
Adicione uma caixa de texto de resultado, com o número inserido exibido acima e o resultado exibido abaixo. É claro que, para dizer muito, ainda depende dos leitores estudá -lo.
Todos os itens acima são todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.