Calculadora.java
public interface Calculadora extends java.rmi.Remote {
public String imposto(String a, long b)
throws java.rmi.RemoteException;
}
CalculadoraCliente.java
import java.rmi.RemoteException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import javax.swing.JFrame;
public class CalculadoraCliente{
public static void main(String[] args) {
try {
Registry registry =LocateRegistry.getRegistry("localhost", 1500);
Calculadora c = (Calculadora) registry.lookup("calculando");
System.out.println( c.imposto("Ana", 1000) );
System.out.println( c.imposto("Maria", 1500) );
System.out.println( c.imposto("Braga", 1800) );
}
catch (RemoteException re) {
System.out.println();
System.out.println("RemoteException");
System.out.println(re);
}
catch (NotBoundException nbe) {
System.out.println();
System.out.println("NotBoundException");
System.out.println(nbe);
}
catch (
java.lang.ArithmeticException ae) {
System.out.println();
System.out.println("java.lang.ArithmeticException");
System.out.println(ae);
}
}
}
CalculadoraImpl.java
public class CalculadoraImpl extends java.rmi.server.UnicastRemoteObject implements Calculadora {
public CalculadoraImpl() throws java.rmi.RemoteException {
super();
}
public String imposto(String a, long b)
throws java.rmi.RemoteException {
System.out.println ("Calculando imposto");
String tmp ="";
if(b<1200){
tmp = a + " pagará "+ (b-(b*0.05)) +" de imposto";
}else if(b>=1200 && b<1800){
tmp = a + " pagará "+ (b-(b*0.10))+" de imposto";
}else{
tmp = a + " pagará "+ (b-(b*0.15))+" de imposto";
}
return tmp;
}
}
CalculadoraServidor.java
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class CalculadoraServidor {
public CalculadoraServidor() {
try {
Calculadora c = new CalculadoraImpl();
Registry registry =LocateRegistry.createRegistry(1500);
registry.bind("calculando",c);
} catch (Exception e) {
System.out.println("Problema: " + e);
}
}
public static void main(String args[]) {
new CalculadoraServidor();
}
}
Copie, melhore e disponibilize.
Até mais!