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. An applet program to draw different shapes

  2. Corba program to develop a simple calculator with addition, subtraction, multiplication and division capabilities, data collection from client side

  3. Add,delete,Update in LISTS

  4. Dialog Boxes

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

  6. Program to show the use of If-Else Statement

  7. Program to declare and initialize Integer variables and print them on the Standard Output Device

  8. Application which takes your marks of six subjects from the client side and displays the percentage that you have obtained

  9. Program of an applet to illustrate BarChart

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

  11. Do the following for the Array Insert the element in the array,delete an element from the array,search for a particular element Create multiple thread

  12. RMI application for getting the final total price of the shopping list with some of the following items and quantities chosen by the user

  13. Create an interface coversions. Which have the following functions Inchestomillimeters(), hptowatts(),wattstohp(),poundstogram(),gramtopounds()

  14. Application for counting factorial of a given number

  15. Even no or Prime no?????

  16. Program to show an example of using initialization block to initialize the data members of a class

  17. Program to show the use of operator (&gt;&gt;&gt;) Shift Right, filling with zeros from the left

  18. Program to show an example of using multiple classes in a program

  19. Program to show the use of Conditional OR Operator (||) in If Statements

  20. An application that combines several classes and interface