1. //Is an example of object and classes in java.,
    //Create Train Reservation program in java..,
    import java.io.*;
    import java.lang.Exception;
    class SeatNotAvailableException extends Exception
    {
    SeatNotAvailableException(int x)
    {
    super("Train No:"+x+"\n*******No Seat Available*******");
    }
    }
    class Train
    {
    int TrainNo=2309879,NoSeat=500,D=12,M=05,Y=2012,TicketNo=1000,count=0;
    String To,From;
    Train()
    {
    }
    void printUnderLine()
    {
    System.out.println("-----------------------------------");
    }
    void booking(String x,String y,int o)throws SeatNotAvailableException
    {
    printUnderLine();
    printUnderLine();
    To=x;
    From=y;
    int ava=count+o;
    TicketNo+=1;
    if(NoSeat>=ava)
    {
    count=count+o;
    System.out.println("++++Booking is Successfull++++");
    System.out.println("***********Your Ticket Details***********");
    System.out.println("Train No: "+TrainNo+"\nTicket No: "+TicketNo+"\nTo: "+To+"\nFrom: "+From+"\nDate: "+D+":"+M+":"+Y);
    System.out.println("***************************************");
    }
    else
    {
    throw new SeatNotAvailableException(TrainNo);
    }
    printUnderLine();
    printUnderLine();
    }
    void availableSeats()
    {
    int bal=NoSeat-count;
    printUnderLine();
    printUnderLine();
    System.out.println("Train No: "+TrainNo+"\nAvailable Seats : "+bal);
    printUnderLine();
    printUnderLine();
    }
    }
    class MainTrain
    {
    public static void main(String args[])throws IOException
    {
    String g,h;
    int u,op;
    DataInputStream in=new DataInputStream(System.in);
    Train p=new Train();
    try
    {
    do
    {
    System.out.println("***************************************");
    System.out.println("Enter the place of TO:");
    g=in.readLine();
    System.out.println("Enter the place of FROM:");
    h=in.readLine();
    System.out.println("How much seat you need:");
    u=Integer.parseInt(in.readLine());
    p.booking(g,h,u);
    p.availableSeats();
    System.out.println("Anather booking press 1 and to exit press 0");
    op=Integer.parseInt(in.readLine());
    System.out.println("***************************************");
    }
    while(op==1);
    }
    catch(SeatNotAvailableException e)
    {
    e.printStackTrace();
    }
    finally
    {
    System.out.println("************END************");
    }
    }
    }