SlideShare una empresa de Scribd logo
Programa Calculadora
Por cuestiones de espacio y legibilidad el código fuente de la calculadora en java
se muestra en porciones.
Para crear la calculadora de la imágen anterior debemos tener en cuenta la
interfaz y los eventos. Lo ideal es mantener el código que permite los cálculos en
una clase separada, pero aqui todo se realizará en una única clase.
Para comenzar a trabajar con componentes gráficos y eventos debemos agregar
al inicio del archivo de la clase las siguientes inclusiones:
1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.*;
Con esto importamos todas las clases awt, events y swing.
Estructura del programa
Nuestra clase se llamará Main y nuestro archivo main.class. Este es su esqueleto:
01 public class Main extends JFrame implements ActionListener {
02
03 private JTextField t;
04 private int a = 0, b = 0;
05 private int eq = 0;
06 private char op = 0;
07
08 public Main() {
09 ...
10 }
11
12 public static void main(String[] args) {
13 new Main();
14 }
15
16 public void actionPerformed(ActionEvent e) {
17 ...
18 }
19 }
Como se puede ver, nuestra clase extiende JFrame e implementa la interface
ActionListener que nos obliga a implementar el método actionPerformed (click en
botón).
Se tienen atributos privados, el primero un cuadro de texto, los demas contadores
y variables de control.
Luego tenemos el constructor de la clase, que nos servirá para crear la interfaz y
asignar eventos a los controles correspondientes (lo veremos ahora mismo).
Luego tenemos un método estatico especial llamado main (en minúsculas) que
nos permite ejecutar la calculadora.
Y por último un evento para capturar los clicks del usuario sobre los diferentes
botones de la calculadora.
Creando la interfaz
Dentro del constructor podemos ver este código:
01 super("Calculadora Básica");
02
StringlabelButtons[] =
{"7", "8", "9", "/", "4", "5", "6", "*", "1", "2","3", "-
", "0", "C", "=", "+"};
03 JPanelcp = (JPanel) this.getContentPane();
04 cp.setLayout(new BorderLayout());
05 JPanel p = new JPanel();
06 p.setLayout(new GridLayout(0, 4));
07 for (int i = 0; i <labelButtons.length; ++i) {
08 JButton button = new JButton(labelButtons[i]);
09 button.addActionListener(this);
10 p.add(button);
11 }
12 t = new JTextField();
13 t.setHorizontalAlignment(JTextField.RIGHT);
14 t.setText("0");
15 cp.add(t, BorderLayout.PAGE_START);
16 cp.add(p, BorderLayout.CENTER);
Primero asignamos el título de la ventana y creamos un vector con los caracteres
de los botones. Si lo notaron tiene un orden algo extraño, esto se debe al
algoritmo que se usa luego para crear los controles recorriendo el vector.
Posteriormente creamos un JPanel y le asignamos un layout tipo grid de 4
columnas, entonces al recorrer el vector vamos agregando a este panel objetos
JButton creados con la etiqueta que obtenemos del item actual del vector y de
paso ya le asignamos el controlador del evento (el mismo objeto, this, hace
referencia a esta misma instancia de la clase Main).
Al salir del ciclo ya tenemos todos los botones, pero nos falta un poco para
terminar el diseño. Creamos un cuadro de texto y le fijamos alineación de texto a
la derecha (será donde se muestren los resultados entre otras cosas). Inicialmente
le asignamos un texto igual a "0".
Al panel principal le colocamos el layoutBorderLayout, agregamos el cuadro de
texto arriba y al centro el panel que contiene todos los botones generados
anteriormente.
Capturando los eventos
Nuestra interfaz nos quedó muy bonita, pero no hace nada. Debemos darle
funcionalidad y esto lo hacemos en el evento que captura los click del usuario
sobre los diferentes botones de la interfaz.
01 public void actionPerformed(ActionEvent e) {
02 char c = ((JButton) e.getSource()).getText().charAt(0);
03 if (c >= '0' && c <= '9') {
04 .... Implementación
05 //Log
06 System.out.print(a);
07 System.out.print(" ");
08 System.out.print(b);
09 ....
10 }
La variable local c se asigna con el caracter que hace referencia al botón pulsado
(ver el contenido del vector de etiquetas de botones que se declara en el
constructor de la clase).
Con esa variable sabremos qué es lo que pulsó el usuario y consecuentemente
deberemos trabajar con dicha orden.
Si es un dígito haremos una cosa, si es un signo de operatoria otra cosa. Si se
trata del signo igual deberemos calcular e informar. Y si es el simbolo C (clear),
simplemente resetearemos la calculadora.

Más contenido relacionado

La actualidad más candente

Manual para usar raptor(1)
Manual para usar raptor(1)Manual para usar raptor(1)
Manual para usar raptor(1)
Hiram Yasser Leija Salas
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Tipos de excepciones
Tipos de excepcionesTipos de excepciones
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registros
rasave
 
Qué es visual basic
Qué es visual basicQué es visual basic
Qué es visual basic
romeprofe
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
Kanddy Mobylml
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
José Antonio Sandoval Acosta
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
Melissa Valadez
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
Luis Dario Gomez
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
Vane Borjas
 
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
David Martinez
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
Carlos Solano
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
Jerry
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
Victor Morales
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
Anel Sosa
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
Andreina Trejo
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 
Tipos De Datos Abstractos
Tipos De Datos AbstractosTipos De Datos Abstractos

La actualidad más candente (20)

Manual para usar raptor(1)
Manual para usar raptor(1)Manual para usar raptor(1)
Manual para usar raptor(1)
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Tipos de excepciones
Tipos de excepcionesTipos de excepciones
Tipos de excepciones
 
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registros
 
Qué es visual basic
Qué es visual basicQué es visual basic
Qué es visual basic
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Recursividad
RecursividadRecursividad
Recursividad
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Tipos De Datos Abstractos
Tipos De Datos AbstractosTipos De Datos Abstractos
Tipos De Datos Abstractos
 

Similar a Programa calculadora

Programación i
Programación iProgramación i
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
guestdb8ea2b
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
Milaly
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
Andrea130190
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
Taniatorres1993
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]
Kalizbeth
 
C# calculadora
C# calculadoraC# calculadora
C sharp manual
C sharp manualC sharp manual
C sharp manual
Anderson Pazmiño
 
Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.
Aristides Miguel Mateo
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
bachispasaca
 
151442532 tutorial-de-c
151442532 tutorial-de-c151442532 tutorial-de-c
151442532 tutorial-de-c
Daniel Verdin
 
software para cálculos matemáticos
software para cálculos matemáticos software para cálculos matemáticos
software para cálculos matemáticos
sebastiannaranjomaldonado
 
Examen programación
Examen programaciónExamen programación
Examen programación
OdalisCuichan
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
Liliana Nieto
 
Auto play
Auto playAuto play
Auto play
Erikavilema45
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
Robert Wolf
 
Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_gine
hrgamaliel
 
Informe Tecnico Topicos Avanzados de Programacion
 Informe Tecnico Topicos Avanzados de Programacion Informe Tecnico Topicos Avanzados de Programacion
Informe Tecnico Topicos Avanzados de Programacion
AnaMaari
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
ElielMauricioEscobar
 
Como crear un macro
Como crear un macroComo crear un macro
Como crear un macro
katerin pabon serna
 

Similar a Programa calculadora (20)

Programación i
Programación iProgramación i
Programación i
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
 
151442532 tutorial-de-c
151442532 tutorial-de-c151442532 tutorial-de-c
151442532 tutorial-de-c
 
software para cálculos matemáticos
software para cálculos matemáticos software para cálculos matemáticos
software para cálculos matemáticos
 
Examen programación
Examen programaciónExamen programación
Examen programación
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
Auto play
Auto playAuto play
Auto play
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_gine
 
Informe Tecnico Topicos Avanzados de Programacion
 Informe Tecnico Topicos Avanzados de Programacion Informe Tecnico Topicos Avanzados de Programacion
Informe Tecnico Topicos Avanzados de Programacion
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
 
Como crear un macro
Como crear un macroComo crear un macro
Como crear un macro
 

Más de jbersosa

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
jbersosa
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
jbersosa
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catch
jbersosa
 
Main
MainMain
Main
jbersosa
 
Clasen1java
Clasen1javaClasen1java
Clasen1java
jbersosa
 
Programación java1
Programación java1Programación java1
Programación java1
jbersosa
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistop
jbersosa
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacion
jbersosa
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
jbersosa
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2
jbersosa
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891
jbersosa
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
jbersosa
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)
jbersosa
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentación
jbersosa
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...
jbersosa
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
jbersosa
 
Php
PhpPhp
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una red
jbersosa
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2
jbersosa
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
jbersosa
 

Más de jbersosa (20)

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catch
 
Main
MainMain
Main
 
Clasen1java
Clasen1javaClasen1java
Clasen1java
 
Programación java1
Programación java1Programación java1
Programación java1
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistop
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacion
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentación
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Php
PhpPhp
Php
 
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una red
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 

Programa calculadora

  • 1. Programa Calculadora Por cuestiones de espacio y legibilidad el código fuente de la calculadora en java se muestra en porciones. Para crear la calculadora de la imágen anterior debemos tener en cuenta la interfaz y los eventos. Lo ideal es mantener el código que permite los cálculos en una clase separada, pero aqui todo se realizará en una única clase. Para comenzar a trabajar con componentes gráficos y eventos debemos agregar al inicio del archivo de la clase las siguientes inclusiones: 1 import java.awt.*; 2 import java.awt.event.*; 3 import javax.swing.*; Con esto importamos todas las clases awt, events y swing. Estructura del programa Nuestra clase se llamará Main y nuestro archivo main.class. Este es su esqueleto: 01 public class Main extends JFrame implements ActionListener { 02 03 private JTextField t; 04 private int a = 0, b = 0; 05 private int eq = 0;
  • 2. 06 private char op = 0; 07 08 public Main() { 09 ... 10 } 11 12 public static void main(String[] args) { 13 new Main(); 14 } 15 16 public void actionPerformed(ActionEvent e) { 17 ... 18 } 19 } Como se puede ver, nuestra clase extiende JFrame e implementa la interface ActionListener que nos obliga a implementar el método actionPerformed (click en botón). Se tienen atributos privados, el primero un cuadro de texto, los demas contadores y variables de control. Luego tenemos el constructor de la clase, que nos servirá para crear la interfaz y asignar eventos a los controles correspondientes (lo veremos ahora mismo). Luego tenemos un método estatico especial llamado main (en minúsculas) que nos permite ejecutar la calculadora. Y por último un evento para capturar los clicks del usuario sobre los diferentes botones de la calculadora. Creando la interfaz Dentro del constructor podemos ver este código: 01 super("Calculadora Básica"); 02 StringlabelButtons[] = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2","3", "- ", "0", "C", "=", "+"}; 03 JPanelcp = (JPanel) this.getContentPane(); 04 cp.setLayout(new BorderLayout()); 05 JPanel p = new JPanel();
  • 3. 06 p.setLayout(new GridLayout(0, 4)); 07 for (int i = 0; i <labelButtons.length; ++i) { 08 JButton button = new JButton(labelButtons[i]); 09 button.addActionListener(this); 10 p.add(button); 11 } 12 t = new JTextField(); 13 t.setHorizontalAlignment(JTextField.RIGHT); 14 t.setText("0"); 15 cp.add(t, BorderLayout.PAGE_START); 16 cp.add(p, BorderLayout.CENTER); Primero asignamos el título de la ventana y creamos un vector con los caracteres de los botones. Si lo notaron tiene un orden algo extraño, esto se debe al algoritmo que se usa luego para crear los controles recorriendo el vector. Posteriormente creamos un JPanel y le asignamos un layout tipo grid de 4 columnas, entonces al recorrer el vector vamos agregando a este panel objetos JButton creados con la etiqueta que obtenemos del item actual del vector y de paso ya le asignamos el controlador del evento (el mismo objeto, this, hace referencia a esta misma instancia de la clase Main). Al salir del ciclo ya tenemos todos los botones, pero nos falta un poco para terminar el diseño. Creamos un cuadro de texto y le fijamos alineación de texto a la derecha (será donde se muestren los resultados entre otras cosas). Inicialmente le asignamos un texto igual a "0". Al panel principal le colocamos el layoutBorderLayout, agregamos el cuadro de texto arriba y al centro el panel que contiene todos los botones generados anteriormente. Capturando los eventos Nuestra interfaz nos quedó muy bonita, pero no hace nada. Debemos darle funcionalidad y esto lo hacemos en el evento que captura los click del usuario sobre los diferentes botones de la interfaz. 01 public void actionPerformed(ActionEvent e) { 02 char c = ((JButton) e.getSource()).getText().charAt(0); 03 if (c >= '0' && c <= '9') {
  • 4. 04 .... Implementación 05 //Log 06 System.out.print(a); 07 System.out.print(" "); 08 System.out.print(b); 09 .... 10 } La variable local c se asigna con el caracter que hace referencia al botón pulsado (ver el contenido del vector de etiquetas de botones que se declara en el constructor de la clase). Con esa variable sabremos qué es lo que pulsó el usuario y consecuentemente deberemos trabajar con dicha orden. Si es un dígito haremos una cosa, si es un signo de operatoria otra cosa. Si se trata del signo igual deberemos calcular e informar. Y si es el simbolo C (clear), simplemente resetearemos la calculadora.