Tuesday, 9 June 2015

RMI based application, which reads a file with list of marks of student from a client, send it to server and find how many students having distinct


Code for RMI based application, which reads a file with list of marks of student from a client, send it to server and find how many students having distinct in Java



 



 



 



 
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

publicclass ResultRMIImpl extends UnicastRemoteObject implements ResultRMI
{
  
  public ResultRMIImpl(String name) throws RemoteException
  {
    super();
    try
    {
      Naming.rebind(name, this);
    } 
    catch (Exception e)
    { 
      System.out.println("Exception: " + e.getMessage());
      e.printStackTrace();
    }
  }

  public String calcresult(double marks[],int count) throws RemoteException
  { 
    double total=0.0,average;
    for(int i=0;i<count;i++)
    {
        total=total+marks[i];
    }
    average = total/count;
    if(average >= 70)
    {
        return"Distinction";
    }
    elseif(average >=60 && average < 70)
    {
        return"Firstclass";
    }
    elseif(average >=50 && average < 60)
    {
        return"secondclass";
    }
    elseif(average >=40 && average <50)
    {
        return"passcalss";
    }
    else 
    {
        return"fail";
    }

  }
}


// ResultRMIServer.java

import java.rmi.*;
import java.rmi.server.*;

publicclass ResultRMIServer
{

 publicstaticvoid main(String args[])
 {

   // Create and install the security manager
   System.setSecurityManager(new RMISecurityManager());

   try
   {
     // Create ResultRMIImpl
     ResultRMIImpl myResult = new ResultRMIImpl("//Binita/myResultRMI");
     System.out.println("ResultRMI Server ready.");
   } 
   catch (Exception e)
   { 
     System.out.println("Exception: " + e.getMessage());
     e.printStackTrace();
   }
 }
}


// ResultRMIClient.java  RMI Result client

import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import java.io.*;
import java.lang.*;

publicclass ResultRMIClient
{ publicstaticvoid main(String args[]) throws Exception
  { 
    // Create and install the security manager
    System.setSecurityManager(new RMISecurityManager());
    
    FileReader fr = new FileReader("studentdetails.txt");
    StreamTokenizer tok = new StreamTokenizer(fr);
    String name="",classval,s;
    double marks[] = newdouble[10];
    int i=0;
    tok.eolIsSignificant(true);
    try
    { 
        ResultRMI myResult = (ResultRMI)Naming.lookup("//"
                          + args[0] + "/" + "myResultRMI");
    
        while( tok.nextToken() != tok.TT_EOF)
    {
        
        if(tok.ttype == tok.TT_WORD)
        {
            name = tok.sval;
            System.out.println("\nname is:"+name);
            System.out.println("Obtained marks are:");
        }
        
        if(tok.ttype == tok.TT_NUMBER)
        {
        
            marks[i] = tok.nval;    
            System.out.println("Marks of subject "+i +" is "+marks[i]);
            i++;

        }    
        if(tok.ttype == tok.TT_EOL && tok.ttype != tok.TT_EOF)
        {
            classval = myResult.calcresult(marks,i);
            System.out.println(name +" has " + classval);
            i=0;
            
        }     
    }
    
    fr.close();
    
    } 
    catch(Exception e)
    { 
        System.err.println("System Exception" + e);
    }
   System.exit(0);
  }
}


// OUTPUT

-----  studentdetails.txt  ------

binita 45 56 74 68
rasesh 88 85 96 92
krupa 41 42 51 52
nauka 62 53 62 48
rinkal 35 38 41 40
--------------------




name is:binita
Obtained marks are:
Marks of subject 0 is 45.0
Marks of subject 1 is 56.0
Marks of subject 2 is 74.0
Marks of subject 3 is 68.0
binita has Firstclass

name is:rasesh
Obtained marks are:
Marks of subject 0 is 88.0
Marks of subject 1 is 85.0
Marks of subject 2 is 96.0
Marks of subject 3 is 92.0
rasesh has Distinction

name is:krupa
Obtained marks are:
Marks of subject 0 is 41.0
Marks of subject 1 is 42.0
Marks of subject 2 is 51.0
Marks of subject 3 is 52.0
krupa has passcalss

name is:nauka
Obtained marks are:
Marks of subject 0 is 62.0
Marks of subject 1 is 53.0
Marks of subject 2 is 62.0
Marks of subject 3 is 48.0
nauka has secondclass

name is:rinkal
Obtained marks are:
Marks of subject 0 is 35.0
Marks of subject 1 is 38.0
Marks of subject 2 is 41.0
Marks of subject 3 is 40.0
rinkal has fail

No comments:

Post a Comment