Clase principal
import javax.swing.JOptionPane;
public class CalculadoraPrincipal { //iniciacion de la clase
public static void main (String[] args){ //metodo principal
int op=0, n1=0, n2=0; //op variables para el menu, n1 y n2 variables de los numeros
String ax; //variable que recibe los numeros
CalculadoraOperaciones trin = new CalculadoraOperaciones(); //objeto llamado trin de la clase operaciones para usar los metodos
do{//comienzo del ciclo
op = JOptionPane.showConfirmDialog(null,"Desea ingresar dos numeros y mostrar el resultado "
+ "\nde las 4 operaciones basicas?");//cuadro de dialogo de tipo entrada
if(op == JOptionPane.YES_OPTION){//si se selecciona SI hara lo que hay en el bloque
ax = JOptionPane.showInputDialog(null, "Digite el primer numero: ");
if(trin.isNum(ax)){//primera validacion
n1 = Integer.parseInt(ax);//n1 toma el valor convertido del anterior cuadro de dialogo
ax = JOptionPane.showInputDialog(null, "Digite el segundo numero: ");
if(trin.isNum(ax)){//segunda validacion
n2 = Integer.parseInt(ax);//n2 toma le valor convertido del anterior cuadro de dialogo
JOptionPane.showMessageDialog(null, "El resultado de la suma es: "+trin.suma(n1, n2)//se usa el metodo de suma de la clase operacioes
+"\nEl resultado de la resta es: "+trin.resta(n1, n2)//se usa el metodo de resta de la clase operaciones
+"\nEl resultado de la multiplicacion es: "+trin.multiplicacion(n1, n2)//se usa el metodo de multiplicacion de la clase operaciones
+"\nEl resultado de la division es: "+trin.division(n1, n2));//se usa el metodo de division de la clase operaciones
}//final segunda validacion
else{
JOptionPane.showMessageDialog(null, "Ingrese un numero","Advertencia !!!", JOptionPane.WARNING_MESSAGE);
}
} //final primera validacion
else{//se muestra un mensaje y no se realiza las operaciones ya que el primer valor no es un numero
JOptionPane.showMessageDialog(null, "Ingrese un numero","Advertencia !!!", JOptionPane.WARNING_MESSAGE);
}
}//finaliza bloque
else if(op == JOptionPane.NO_OPTION){//si se selecciona NO hara lo que hay en el bloque
JOptionPane.showMessageDialog(null, "Si desea terminar la aplicacion elige Cancelar.","Advertencia !!!" ,JOptionPane.WARNING_MESSAGE);//mensaje de advertencia
}//finaliza bloque
}while(op!= JOptionPane.CANCEL_OPTION);//el ciclo finaliza cuando se da cancelar
System.exit(0);//linea para asegurar la finalizacion del programa
} //fin metodo principal
}//final de la clase
Clase secundaria la cual contiene los metodos
public class CalculadoraOperaciones { //comienzo clase operaciones
public int suma(int n1, int n2){//metodo para sumar, recibe dos numeros
int op; //variable que almacena la respuesta
op = n1 + n2; //operacion
return op; //devuelve el valor de la operacion
} //fin metodo suma
public int resta (int n1, int n2){ //metodo para restar, recibe dos numeros
int op; //variable que almacena la respuesta
op = n1 - n2; //operacion
return op; //devuelve el valor de la operacion
}// fin metodo resta
public int multiplicacion(int n1, int n2){ //metodo para multiplicar, recibe dos numeros
int op; //variable que almacena la respuesta
op = n1 * n2; //operacion
return op; //devuelve el valor de la operacion
} //fin metodo multiplicacion
public int division(int n1, int n2){ //metodo para division, recibe dos numeros
int op; //variable que almacena la respuesta
op = n1 / n2; //operacion
return op; //devuelve el valor de la operacion
}//fin metodo division
public boolean isNum(String n){//metodo para validar si se ha ingresado un numero, recibe una cadena de texto
int a;//variable que almacena la cadena a convertir
try{
a = Integer.parseInt(n); //se convierte la cadena
return true; //si se ha convertido a entero devuelve verdadero
}
catch(NumberFormatException e){
return false; //si no se ha convertido a entero devuelve falso
}
}//fin metodo validar
}//fin clase operaciones