Java 2 Practical 8
Java 2 Practical 8
8
1) Write a Java RMI (Remote Method Invocation) program to
calculate the factorial of a given number.
Program:
1)Interface:
import java.rmi.Remote;
import java.rmi.RemoteException;
2)Class:
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
@Override
public long factorial(int n) throws RemoteException {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
3)Client Side :
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
4)Server Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
Output:
i)
ii)
Program:
1)Interface:
import java.rmi.Remote;
import java.rmi.RemoteException;
@Override
public long getFibonacci(int n) throws RemoteException {
if (n <= 1)
return n;
return getFibonacci(n - 1) + getFibonacci(n - 2);
}
}
3)Client Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
int n = 10; //
long result = fibonacci.getFibonacci(n);
System.out.println("Fibonacci(" + n + ") = " + result);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}
}
}
4)Server Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
ii)
@Override
public int add(int a, int b) throws RemoteException {
return a + b;
}
}
3)Client Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
int a = 5;
int b = 7;
int result = addition.add(a, b);
System.out.println("Result of adding " + a + " and " + b + " is: " +
result);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}
}
}
4)Server Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
ii)
Program:
1)Interface:
import java.rmi.Remote;
import java.rmi.RemoteException;
@Override
public int subtract(int a, int b) throws RemoteException {
return a - b;
}
}
3)Client Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
int a = 10;
int b = 5;
int result = subtraction.subtract(a, b);
System.out.println("Result of subtracting " + b + " from " + a +
" is: " + result);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
}
}
}
4)Server Side:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;