Java Tutorial

 
 
 
 
// Count.idl

module Counter
{
  interface Count
  { 
    attribute long sum;
    long increment();
    double check(in double a);
  };
}; 


// CountClient.java

import Counter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import java.io.*;
class CountClient { 

  static Count countImpl;

  public static void main(String args[])
  { try
    {

       // Initialize the ORB

        org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

        // get the root naming context
        org.omg.CORBA.Object objRef = 
        orb.resolve_initial_references(\"NameService\");
        // Use NamingContextExt instead of NamingContext. This is 
        // part of the Interoperable naming Service.  
        NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

        // resolve the Object Reference in Naming
        String name = \"Count\";
        countImpl = CountHelper.narrow(ncRef.resolve_str(name));

      // Set sum to initial value of 0
      countImpl.sum((int)0);

      int choice=0;
      double value1,num;
      BufferedReader b1=new BufferedReader(new InputStreamReader(System.in));


      while(true)
     {
      System.out.println(\"Do you want to guess a number(1:Yes / 2:No):\");
      choice=Integer.parseInt(b1.readLine());
      if(choice==2)
         break;
      System.out.println(\"Guess a number and enter that number!!\");
      num=Integer.parseInt(b1.readLine());    

      countImpl.increment();


      if(countImpl.sum()==5)
         {
           System.out.println(\"SORRY YOUR 5 TRIALS ARE OVER\");
           System.out.println(\"Trials = \" + countImpl.sum());    
           break;        
         }

      value1=countImpl.check(num);

      if(value1==0)
         {
            System.out.println(\"CONGRATULATIONS!!! GUESSED THE RIGHT NUMBER!!!\");
            System.out.println(\"Trials = \" + countImpl.sum());
        break;    
         }

     else if(value1<0)
         {
            System.out.println(\"NUMBER is less than the actual no!!!\");
            System.out.println(\"Trials = \" + countImpl.sum());
      }

     else if(value1>0)
         {
            System.out.println(\"NUMBER is greater than the actual no!!!\");
            System.out.println(\"Trials = \" + countImpl.sum());
      }

    } 
   }
    catch(Exception e)
    { System.err.println(\"System Exception\");
      System.err.println(e);
    }
  }
}


// CountServer.java: The Count Server main program

import Counter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import java.util.*;

class CountImpl extends Counter.CountPOA
{

    private int sum;
    int tempnum;
  // Constructors
  CountImpl(String name)
  {
    super();
    System.out.println(\"Count Object Created\");
    sum = 0;

    Random a=new Random();
    double a1;
    while(true)
     {
       a1=a.nextGaussian()*100;
       if(a1<100 && a1>0)
         break;
     }
    tempnum=(int)a1;
  }

  // get sum
  public  int sum()
  { return sum;
  }

  // set sum
  public  void sum(int val)
  { sum = val;
  }

  // increment method
  public int increment()
  { sum++;
    return sum;
  }

  public double check(double num)
  {
     return(num-tempnum);
 }

}

class CountServer
{
   static public void main(String[] args)
  {
    try
    { 
      // Initialize the ORB

       org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

      // Initialize the BOA

      POA rootpoa = POAHelper.narrow(orb.resolve_initial_references(\"RootPOA\"));
      rootpoa.the_POAManager().activate();

      // Create the Count object

      CountImpl count = new CountImpl(\"My Count\");

      // get object reference from the servant

      org.omg.CORBA.Object ref = rootpoa.servant_to_reference(count);
      Count href = Counter.CountHelper.narrow(ref);

      // get the root naming context
      // NameService invokes the name service

      org.omg.CORBA.Object objRef =
      orb.resolve_initial_references(\"NameService\");

      // Use NamingContextExt which is part of the Interoperable
      // Naming Service (INS) specification.

      NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

      // bind the Object Reference in Naming

      String name = \"Count\";
      NameComponent path[] = ncRef.to_name( name );
      ncRef.rebind(path, href);

      System.out.println(\"HelloServer ready and waiting ...\");

      // wait for invocations from clients
      orb.run();

      }
      catch(Exception e)
      { System.err.println(e);
      }
   }
}


OUTPUT 1 :

E:\\DIPI1\\corba prgs\\numgame>java CountClient -ORBInitialPort 1050 -ORBInitialHost a

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
50
NUMBER is less than the actual no!!!
Trials = 1

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
75
NUMBER is greater than the actual no!!!
Trials = 2

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
73
NUMBER is greater than the actual no!!!
Trials = 3

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
72
CONGRATULATIONS!!! GUESSED THE RIGHT NUMBER!!!
Trials = 4


OUTPUT 2 :

E:\\DIPI1\\corba prgs\\numgame>java CountClient -ORBInitialPort 1050 -ORBInitialHos
t a
Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
23
NUMBER is less than the actual no!!!
Trials = 1

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
56
NUMBER is less than the actual no!!!
Trials = 2

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
78
NUMBER is greater than the actual no!!!
Trials = 3

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
67
NUMBER is greater than the actual no!!!
Trials = 4

Do you want to guess a number(1:Yes / 2:No):
1
Guess a number and enter that number!!
56
SORRY YOUR 5 TRIALS ARE OVER
Trials = 5

    Related Post:
  1. Program to read input from the Standard Input Device

  2. Program to show an example of Polymorphism

  3. Program to declare, initialize and print a StringBuffer object

  4. Even number ,Prime no. ,Factorial of a number

  5. Program which creates an Array of character. Make one function with one argument as a character and that function throw a user defined exception

  6. Program to declare and initialize Boolean variables and print them on the Standard Output Device

  7. Program in CORBA which takes a long sentence from client (at least 7 words), passes to the server, server separates out each word and sends back

  8. Program which will read a string and rewrite it in the alphabetical order

  9. An applet program to perform quick sort

  10. Pass the marks of 10 students from the client side design a servlet, which takes these marks and returns the number of students who obtained first cls

  11. Application for counting factorial of a given number

  12. Program to show insertion of StringBuffer, String objects and other Basic Data Types into a StringBuffer object

  13. Program to search an element in an array using Linear Search

  14. Program to find the number of and sum of all integers greater than 100 and less than 200 that are divisible by 7

  15. Program of telnet server - client

  16. Servlet which takes input from an HTML client page and calculates and outputs the premium amount

  17. CORBA PROGRAM TO GET THE HTML CODE FROM ANY URL

  18. Program to read command line arguments

  19. Program for Thread Priority

  20. Program to extract a portion of a character string and print the extracted string