Friday, 7 September 2012

Java Program For Factorial Of A Given Number Using RMI

//Server.java
import java.rmi.*;
import java.rmi.server.*;
public class server extends UnicastRemoteObject implements factorial
{
  public server() throws RemoteException
  {
  }
  public static void main(String args[])throws Exception
  {
    System.out.println("Server starts");
    server s=new server();
    Naming.rebind("Server",s);
  }
  public int factorial(int x)
  {
    int f=1;
    if(x==0||x==1)
    {
       System.out.println("Factorial"+1);
    }
    else
    { 
      while(x>0)
      {
        f=f*x;
        x--;
      }
    }
    return f;
  }
}



//client.java
import java.io.*;
import java.net.*;
import java.rmi.*;
public class client
{
  public static void main(String args[])
  {
    try
    {
      String URL="rmi://"+args[0]+"/Server";
      factorial f=(factorial)Naming.lookup(URL);
      System.out.println("Enter the number:"+args[1]);
      int a=Integer.parseInt(args[1]);
      System.out.println("The factorial is"+f.factorial(a));
    }
    catch(Exception e)
    {
      System.out.println("Exception"+e);
    }
  }
}

//factorial.java
import java.rmi.*;

public interface factorial extends Remote
{
int factorial(int x)throws RemoteException;
}



1 comment:

  1. Can you please explain how to run this program ??
    What should be the command line arguments ???

    ReplyDelete