You are on page 1of 12

FILE

CREAR NUEVO PROYECTO

JAVA

JAVA APPLICATION

NEXT

PONER NOMBRE AL PROYECTO

LOCALIZACIN DEL PROYECTO

FINISH

import java.rmi.Remote; import java.rmi.RemoteException; public interface InterfaceRMI extends Remote{ public int sumar(int x, int y) throws RemoteException; public int restar(int x, int y) throws RemoteException; public int multiplicar(int x, int y) throws RemoteException; public int dividir(int x, int y) throws RemoteException; }

import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class ImplementacionRMI extends UnicastRemoteObject implements InterfaceRMI{ public ImplementacionRMI() throws RemoteException{ super(); } public int sumar(int x, int y) throws RemoteException{ int respuesta; respuesta=x+y; return respuesta; } public int restar(int x, int y) throws RemoteException{ int respuesta; respuesta=x-y; return respuesta; } public int dividir(int x, int y) throws RemoteException{ int respuesta; respuesta=x/y; return respuesta; } public int multiplicar(int x, int y) throws RemoteException{ int respuesta; respuesta=x*y; return respuesta; } }

import java.rmi.Naming; public class Servidor { public Servidor(){ try{ InterfaceRMI i=new ImplementacionRMI(); Naming.rebind("rmi://localhost/CalculadoraRMI", i); } catch(Exception e){ } } public static void main(String[] args){ new Servidor(); System.out.println("Servidor Inicializado y escuchando..."); } }

import java.util.Scanner; import java.rmi.Naming; public class Cliente { public int leerDato(String msj){ int dato; Scanner sc=new Scanner(System.in); System.out.println(msj); dato=sc.nextInt(); return dato; } public void imprimirDato(int dato){ System.out.println(" "+dato); } public int ingresoDato1(){ Cliente obj=new Cliente(); int dato1; dato1=obj.leerDato("ingrese el dato 1: "); return dato1; } public int ingresoDato2(){ Cliente obj=new Cliente(); int dato2; dato2=obj.leerDato("ingrese el dato 2: "); return dato2; } public static void main(String[] args){ try{ int opcion=0; int respuesta=0; Scanner sc=new Scanner(System.in); InterfaceRMI i=(InterfaceRMI)Naming.lookup("rmi://localhost/ CalculadoraRMI"); Cliente cliente=new Cliente(); System.out.println("****** OPCIONES ******"); System.out.println("1. SUMA"); System.out.println("2. RESTA"); System.out.println("3. MULTIPLICACION"); System.out.println("4. DIVISION"); opcion=sc.nextInt(); System.out.println("respuesta"); if((opcion<1)||(opcion>4)){ System.out.println("Opcion mal ingresada"); } else{ switch(opcion){ case 1:{

System.out.println("Suma: "); respuesta=i.sumar(cliente.ingresoDato1(), cliente.ingresoDato2()); System.out.println("la suma es ="); cliente.imprimirDato(respuesta); cliente.main(args); break; } case 2:{ System.out.println("Resta: "); respuesta=i.restar(cliente.ingresoDato1(), cliente.ingresoDato2()); System.out.println("la resta es ="); cliente.imprimirDato(respuesta); cliente.main(args); break; } case 3:{ System.out.println("Multiplicacion: "); respuesta=i.multiplicar(cliente.ingresoDato1(), cliente.ingresoDato2()); System.out.println("la multiplicacion es ="); cliente.imprimirDato(respuesta); cliente.main(args); break; } case 4:{ System.out.println("Dividir: "); respuesta=i.dividir(cliente.ingresoDato1(), cliente.ingresoDato2()); System.out.println("la division es ="); cliente.imprimirDato(respuesta); cliente.main(args); break; } } } } catch(Exception e){ } } }