computer project (movie ticketing system)

63
Given By: Paras Khurana School: Strawberry Fields World School Class: 10-A

Upload: paras-khurana

Post on 24-Oct-2015

49 views

Category:

Documents


0 download

DESCRIPTION

sa

TRANSCRIPT

Page 1: Computer Project (Movie Ticketing System)

Given By: Paras Khurana

School: Strawberry Fields World School

Class: 10-A

Year: 2013-14

Page 2: Computer Project (Movie Ticketing System)

I would like to express my special thanks of gratitude to my teacher Mrs. Smita Satyarthi as well as our principal Mrs. Sangeeta Sekhon who gave me the golden opportunity to do this wonderful project on the topic programming in java (movie ticketing system), which also helped me in doing a lot of Research and i came to know about so many new things. I am really thankful to them.

Secondly i would also like to thank my parents and friends who helped me a lot in finishing this project within the limited time. And giving me everything I required including the moral support that I can finish the project on time.

Given By: Paras Khurana Given To: Mrs. Smita Satyarthi

Page 3: Computer Project (Movie Ticketing System)

Project Question1. Data types in java.2. Decision making statements3. What are different types of IO

streams? Explain with the help of examples.

4. Exception handling5. Build an application that allows an

operator to book the tickets for his selected movie, book his snacks and print the bill amount. The bill can be for matted to display the customer’s details and the net amount.

Page 4: Computer Project (Movie Ticketing System)

CONTENTSTOPIC PAGE NO.

INTRODUCTION 1DATA TYPES IN

JAVA2-14

DECISION MAKING STATEMENTS

15-20

IO STREAMS IN JAVA

21-26

EXCEPTION HANDLING

27-31

PROGRAM (MOVIE

TICKETING SYSTEM

32-47

BIBLIOGRAPHY 48

Page 5: Computer Project (Movie Ticketing System)

IntroductionJava is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is

intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs

on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless

of computer architecture. Java is, as of 2012, one of the most popular programming languages in use,

particularly for client-server web applications, with a reported 9 million developers. Java was originally

developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The

language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of

them.

The original and reference implementation Java compilers, virtual machines, and class libraries were

developed by Sun from 1991 and first released in 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under

the GNU General Public License. Others have also developed alternative implementations of these

Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Class path (standard libraries), and IcedTea-Web (browser plugin for applets).

BlueJ is an integrated development environment (IDE) for the Java programming language,

developed mainly for educational purposes, but also suitable for small-scale software development.

BlueJ was developed to support the learning and teaching of object-oriented programming, and its

design differs from other development environments as a result. The main screen graphically shows the

class structure of an application under development (in an UML-like diagram), and objects can be

interactively created and tested. This interaction facility, combined with a clean, simple user interface, allows easy experimentation with objects under development. Object-oriented concepts (classes, objects,

communication through method calls) are represented visually and in its interaction design in the

interface.

Page 6: Computer Project (Movie Ticketing System)
Page 7: Computer Project (Movie Ticketing System)

1. Data types are predefined by the Java language.

2. Predefined data types are reserved keyword so we cannot use them as variable

name inside program/application.

3. Primitive values do not share state with other primitive values.

4. Total Number of Primitive Data Types in Java Programming is 8.

5. All Primitive Data Types have respective Wrapper Classes i.e. Integer is wrapper

class for primitive type int.

Data Types:

Type Contains Default Size

Boolean true or false false 1 bit

char Unicode Character u0000 16 bits

byte Signed Integer 0 8 bits

short Signed Integer 0 16 bits

int Signed Integer 0 32 bits

long Signed Integer 0 64 bits

float Floating Number 0.0 32 bit

double Floating Number 0.0 64 bit

Page 8: Computer Project (Movie Ticketing System)

Integer Data Types:1. Integer Data Type is used to store integer value.

2. Integer Data Type is Primitive Data Type in Java Programming Language.

3. Integer Data Type have respective Wrapper Class – “Integer“.

4. Integer Data Type is able to store both unsigned and signed integer values so Java

opted signed, unsigned concept of C/C++.

Integer Data Type can have 4 types of Values these are listed below in the table -

Name

Width Range

long 64 –9,223,372,036,854,775,808 to

9,223,372,036,854,775,807

int 32 –2,147,483,648 to 2,147,483,647

short 16 –32,768 to 32,767

byte 8 –128 to 127

5. Literals for integers consist of a sequence of digits. Most programming languages

disallow use of commas for digit grouping, although Fortran (77, 90, and above,

fixed form source but not free form source) allows embedded spaces,

and Perl, Ruby, Java and D allow embedded underscores. Negation is indicated by

a minus sign (−) before the value. Examples of integer literals are:

42

10000

Page 9: Computer Project (Movie Ticketing System)

−233000

Example: Declaring Integer Variable in Java Programming

Class IntDemo

{Public static void main(String args[]) { int number=0; System.out.println("Number: " +number); }}

Explanation:

1. Primitive Variable can be declared using “int” keyword.

2. Though Integer contain default Initial Value as 0, still we have assign 0 to show

assignment in Java.

3. “+” operator is used to concatenate 2 strings.

4. Integer is converted into String internally and then two strings are concatenated.

Floating-Point Data Type:1. Floating Data Type is used to store float value.

2. Floating Data Type is Primitive Data Type in Java Programming Language.

3. Floating Data Type have respective Wrapper Class – “Float or Double“.

Page 10: Computer Project (Movie Ticketing System)

Float Data Type Can store 2 types of Values these are listed below -

1. Float

2. Double

float Variables of this type can have values from -3.4E38 (-3.4 * 1038) to +3.4E38

(+3.4 * 1038) and occupy 4 bytes in memory. Values are represented with

approximately 7 decimal digits accuracy

doubl

e

Variables of this type can have values from -1.7E308 (-1.7 * 10308) to

+1.7E308 (+1.7 * 10308) and occupy 8 bytes in memory. Values are

represented with approximately 17 decimal digits accuracy. The smallest non-

zero value that you can have is roughly (4.9 * 10–324).

Example : Declaring float Variable in Java Programming

Class FloatDemo

{public static void main(String args[]) { float fval = 10.0f; System.out.println("Total Number : " + fval); }}

Float Type : Some Notes

In Java any value declared with decimal point is by default of type double.

Suppose we have to assign float value then we must use ‘f’ or ‘F’ literal to

specify that current value is “Float”.

Specify “E” or “e” for values which contain exponent.

How to Declare float Variable

Page 11: Computer Project (Movie Ticketing System)

float fval = 10.4F;

How to Declare Double VariableClass FloatDemo

{public static void main(String args[]) { double d1 = 10; System.out.println("Total Number : " + fval); }}

We have assigned integer value to the Double . (i.e we are assigning lower

value of inside bigger variable , no need to typecast )

double keyword is used to declare double variable.

Character Data Types:1. In Java, the data type used to store characters is char.

2. Character is 16 bits wide in Java.

3. Java uses Unicode to represent characters.

4. Java support lot of Unicode symbols from many more human languages for this

purpose, it requires 16 bits.

5. The range of a char is 0 to 65,536.

6. There are no negative chars.

What is Unicode ?

Unicode defines a fully international character set that can represent all of the

characters found in all human languages.

Page 12: Computer Project (Movie Ticketing System)

Example 1 : Integer Value Assigned to Character Data Type

class CharDemo { public static void main(String args[]) { char ch;

ch = 'M'; System.out.println("Character is : " + ch);

}}

Output :

Character is : M

Example 2 : Integer Value Assigned to Character Data Type

// Demonstrate char data type.class CharDemo { public static void main(String args[]) { char ch1, ch2;

ch1 = 88; // code for X ch2 = 'Y';

System.out.print("ch1 and ch2: "); System.out.println(ch1 + "" + ch2); }}

Output :

ch1 and ch2: X Y

Page 13: Computer Project (Movie Ticketing System)

Example 3 : Incrementing Character Variable

class CharDemo2 { public static void main(String args[]) { char ch1;

ch1 = 'P'; System.out.println("ch1 contains " + ch1);

ch1++; // increment ch1 System.out.println("ch1 is now " + ch1); }}

Output :

ch1 contains P

ch1 is now Q

Boolean Data Type :1. Boolean is primitive data type in Java.

2. Boolean data type is used for logical values.

3. Boolean data type can have two possible values : true or false.

4. Boolean is the type returned by all relational operators

5. Boolean is the type required by the conditional expressions used in control

statements such as if and for.

6. “Boolean” is wrapper class for “boolean” primitive data type.

How to Declare & Display Boolean Variable ?

public static void main(String args[]) {

Page 14: Computer Project (Movie Ticketing System)

boolean b1,b2,b3;

b1 = true; // Assigning Value b2 = false; // Assigning Value b3 = b2; // Assigning Variable

System.out.println(b1); // Printing Value System.out.println(b2); // Printing Value System.out.println(b3); // Printing Value

}

Output:

truefalsefalse

Different Ways of Using Boolean Value :

Way 1 : Inside If Statement

Boolean Value is used to check whether condition is true or not.

public static void main(String args[]){ boolean b;

b = true;

if(b == true) { System.out.println("I am True"); }}

Way 2 : Comparing Two Numbers

class Demo {

Page 15: Computer Project (Movie Ticketing System)

public static void main(String args[]) {

boolean b;

b = (10 > 6);

if(b) { System.out.println("10 > 6"); } }}

We can use boolean value to hold the result Comparison operators.

Here 10 > 6 therefore true will be stored in boolean variable

In Java a reference data type is a variable that can contain the reference or an

address of dynamically created object. These type of data type are not predefined

like primitive data type. The reference data types

are arrays, classes and interfaces that are made and handle according to a

programmer in a java program  which can hold the three kind of values as:

Page 16: Computer Project (Movie Ticketing System)

class type:

As you know that Java is an object-oriented programming language where an object is

a  variable, associated with methods that is described by a class. The name of a class is

treated  as a type in a java program, so that you can declare a variable of an object-

type, and a method which can be called using that object- type variable. 

Whenever a variable is created, a reference to an object is also created using the name

of a class for its type i.e. that variable can contain either null or a reference to an object

of that class. It is not allowed to contain any other kinds of values. Such type is

called reference types in Java. The object becomes an instance when the memory is

allocated to that object using new keyword. In addition, array typesare reference

types because these are treated as objects in Java. For example:

class Fruit {

fColor()

{....}

fSize()

{....}

};Fruit mango;

Fruit banana;

...

array type

// Points to an array instance

class type

// Points to an object or a class instance

interface type

// Points to an object and a method, which is

implemented to the corresponding interface

Page 17: Computer Project (Movie Ticketing System)

In the given example the Fruit is a class that has the reference variables as mango &

banana through which we can call

 the behaviors associated with that class as mango.fColor(); within the main method of

the super class.

Array Type:

An array is a special kind of object that contains values called elements. The java

array enables the user to store the values of the same type in contiguous memory

allocations. The elements in an array are identified by an integer index which initially

starts from 0 and ends with  one less than number of elements available in the array.

All elements of an array must  contain the same type of value i.e. if an array is a type of

integer then all the elements must be of integer type.  It is areference data

type because the class named as Array  implicitly extendsjava.lang.Object. The

syntax of declaring  the array is shown as:

 DataType [] variable1,

variable2, .......variableN;

DataType [] variable = new

DataType [ArraySize];

DataType [] variable = {item 1,

item 2,...item n};

For example:

int [] a = new int [10];

String [] b =

{"reference","data",

"type"};

In the first statement, an array variable "a" is declared of  integer data type that holds

the memory spaces according to the size of int. The index of the array starts

Page 18: Computer Project (Movie Ticketing System)

from a[0] and ends with a[9]. Thus, the integer value can be assigned for each or a

particular index position of the array. 

In the second statement,  the array "b" is declared of string data type that has the

enough memory spaces to directly holds the three string values.  Thus each value is

assigned for each index position of the array. 

Interface Type:

 Java provides an another kind of reference data type or a mechanism  to

support  multiple inheritance feature called an interface. The name of an interface

can be used to specify the type of a reference. A value is not allowed to be assign to a

variable declared using an interface type until theobject  implements the

specified interface. 

When a class declaration  implements an interface, that class inherits all of the variables

and methods declared in that interface. So the  implementations for all of the methods

declared in the interface must be provided by that class. For example, Java provides an

interface called ActionListener whose method named actionPerformed() is used to

handle the different kind of event . Java also provides a class called Thread that

implements Runnable interface. 

Thus the following assignment can be allowed:

Runnable r;

r = new

Thread();

Page 19: Computer Project (Movie Ticketing System)

There are two types of decision making statements in Java. They are:

if statements switch statements

The if Statement:

A if statement consists of a Boolean expression followed by one or more statements.

Syntax:The syntax of a if statement is:

if(Boolean_expression){ //Statements will execute if the Boolean expression is true}

If the Boolean expression evaluates to true then the block of code inside the if statement will be executed. If not the first set of code after the end of the if statement (after the closing curly brace) will be executed.

Page 20: Computer Project (Movie Ticketing System)

Example:public class Test {

public static void main(String args[]){ int x = 10;

if( x < 20 ) { System.out.print("This is if statement"); } }}

Output:

This is if statement

The if...else Statement:An if statement can be followed by an optional else statement, which executes when the Boolean expression is false.

Syntax:The syntax of an if...else is:

if(Boolean_expression){ //Executes when the Boolean expression is true}else{ //Executes when the Boolean expression is false}

Example:public class Test {

public static void main(String args[]){ int x = 30;

if( x < 20 ){ System.out.print("This is if statement"); }else{ System.out.print("This is else statement"); }

Page 21: Computer Project (Movie Ticketing System)

}}

This would produce the following result:

This is else statement

The if...else if...else Statement:An if statement can be followed by an optional else if...else statement, which is very useful to test various conditions using single if...else if statement.

When using if , else if , else statements there are few points to keep in mind.

An if can have zero or one else's and it must come after any else if's.

An if can have zero to many else if's and they must come before the else.

Once an else if succeeds, none of the remaining else if's or else's will be tested.

Syntax:The syntax of an if...else…if is:

if(Boolean expression 1){ //Executes when the Boolean expression 1 is true}else if(Boolean expression 2){ //Executes when the Boolean expression 2 is true}else if(Boolean expression 3){ //Executes when the Boolean expression 3 is true}else { //Executes when the none of the above condition is true.}

Example:public class Test {

Page 22: Computer Project (Movie Ticketing System)

public static void main(String args[]){ int x = 30;

if( x == 10 ) { System.out.print("Value of X is 10"); } else if( x == 20 )

{ System.out.print("Value of X is 20"); }

else if( x == 30 ){ System.out.print("Value of X is 30");}else{ System.out.print("This is else statement");}

}}

This would produce the following result:

Value of X is 30

Nested if...else Statement:It is always legal to nest if-else statements which means you can use one if or else if statement inside another if or else if statement.

Syntax:

The syntax for a nested if...else is as follows:

if(Boolean_expression 1){ //Executes when the Boolean expression 1 is true if(Boolean_expression 2) { //Executes when the Boolean expression 2 is true }}

You can nest else if...else in the similar way as we have nested if statement.

Example:public class Test {

public static void main(String args[]){ int x = 30;

Page 23: Computer Project (Movie Ticketing System)

int y = 10;

if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } }}

This would produce the following result:

X = 30 and Y = 10

The switch Statement:A switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case.

Syntax:The syntax of switch is:

switch(expression){ case value : //Statements break; //optional case value : //Statements break; //optional //You can have any number of case statements. default : //Optional //Statements}

The following rules apply to a switch statement:

The variable used in a switch statement can only be a byte, short, int, or char.

You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.

The value for a case must be the same data type as the variable in the switch and it must be a constant or a literal.

Page 24: Computer Project (Movie Ticketing System)

When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.

When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.

Not every case needs to contain a break. If no break appears, the flow of control will fall throughto subsequent cases until a break is reached.

A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

Example:

Page 25: Computer Project (Movie Ticketing System)

The java.io package contains class needed to perform input and output (I/O) in Java. All these streams represent an input source and an output destination. The stream in the java.io package supports many data such as primitives, Object, localized characters, etc.

A stream can be defined as a sequence of data. The InputStream is used to read data from a source and the OutputStream is used for writing data to a destination.

Java does provide strong, flexible support for I/O as it relates to files and networks.

Reading Console Input:Java input console is accomplished by reading from System.in. To obtain a character-based stream that is attached to the console, you wrap System.in in a BufferedReader object, to create a character stream. Here is most common syntax to obtain BufferedReader:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

Once BufferedReader is obtained, we can use read( ) method to reach a character or readLine( ) method to read a string from the console.

Reading Characters from Console:To read a character from a BufferedReader, we would read( ) method whose sytax is as follows:

int read( ) throws IOException

Each time that read( ) is called, it reads a character from the input stream and returns it as an integer value. It returns .1 when the end of the stream is encountered. As you can see, it can throw an IOException.

Page 26: Computer Project (Movie Ticketing System)

The following program demonstrates read( ) by reading characters from the console until the user types a "q":

// Use a BufferedReader to read characters from the console.

import java.io.*;

public class BRRead { public static void main(String args[]) throws IOException { char c; // Create a BufferedReader using System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter characters, 'q' to quit."); // read characters do { c = (char) br.read(); System.out.println(c); } while(c != 'q'); }}

Here is a sample run:

Enter characters, 'q' to quit.123abcq123abcq

Reading Strings from Console:To read a string from the keyboard, use the version of readLine( ) that is a member of the BufferedReader class. Its general form is shown here:

String readLine( ) throws IOException

The following program demonstrates BufferedReader and the readLine( ) method. The program reads and displays lines of text until you enter the word "end":

// Read a string from console using a BufferedReader.

Page 27: Computer Project (Movie Ticketing System)

import java.io.*;public class BRReadLines { public static void main(String args[]) throws IOException { // Create a BufferedReader using System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; System.out.println("Enter lines of text."); System.out.println("Enter 'end' to quit."); do { str = br.readLine(); System.out.println(str); } while(!str.equals("end")); }}

Here is a sample run:

Enter lines of text.Enter 'end' to quit.This is line oneThis is line oneThis is line twoThis is line twoendend

Writing Console Output:Console output is most easily accomplished with print( ) and println( ), described earlier. These methods are defined by the class PrintStream which is the type of the object referenced bySystem.out. Even though System.out is a byte stream, using it for simple program output is still acceptable.

Page 28: Computer Project (Movie Ticketing System)

Reading and Writing Files:Here is a hierarchy of classes to deal with Input and Output streams.

The two important streams are FileInputStream and FileOutputStream,

File Input Stream:This stream is used for reading data from the files. Objects can be created using the keyword new and there are several types of constructors available.

Following constructor takes a file name as a string to create an input stream object to read the file.:

InputStream f = new FileInputStream("C:/java/hello");

Following constructor takes a file object to create an input stream object to read the file. First we create a file object using File() method as follows:

File f = new File("C:/java/hello");InputStream f = new FileInputStream(f);

Page 29: Computer Project (Movie Ticketing System)

Once you have InputStream object in hand, then there is a list of helper methods which can be used to read to stream or to do other operations on the stream.

SN Methods with Description

1public void close() throws IOException{}This method closes the file output stream. Releases any system resources associated with the file. Throws an IOException.

2

protected void finalize()throws IOException {}This method cleans up the connection to the file. Ensures that the close method of this file output stream is called when there are no more references to this stream. Throws an IOException.

3public int read(int r)throws IOException{}This method reads the specified byte of data from the InputStream. Returns an int. Returns the next byte of data and -1 will be returned if it's end of file.

4public int read(byte[] r) throws IOException{}This method reads r.length bytes from the input stream into an array. Returns the total number of bytes read. If end of file -1 will be returned.

5public int available() throws IOException{}Gives the number of bytes that can be read from this file input stream. Returns an int.

File Output Stream:FileOutputStream is used to create a file and write data into it. The stream would create a file, if it doesn't already exist, before opening it for output.

Here are two constructors which can be used to create a FileOutputStream object.

Following constructor takes a file name as a string to create an input stream object to write the file:

OutputStream f = new FileOutputStream("C:/java/hello")

Following constructor takes a file object to create an output stream object to write the file. First, we create a file object using File() method as follows:

File f = new File("C:/java/hello");OutputStream f = new FileOutputStream(f);

Once you have OutputStream object in hand, then there is a list of helper methods, which can be used to write to stream or to do other operations on the stream.

SN Methods with Description

1 public void close() throws IOException{}

Page 30: Computer Project (Movie Ticketing System)

This method closes the file output stream. Releases any system resources associated with the file. Throws an IOException.

2

protected void finalize()throws IOException {}This method cleans up the connection to the file. Ensures that the close method of this file output stream is called when there are no more references to this stream. Throws an IOException.

3public void write(int w)throws IOException{}This methods writes the specified byte to the output stream.

4public void write(byte[] w)Writes w.length bytes from the mentioned byte array to the OutputStream.

Example:

Following is the example to demonstrate InputStream and OutputStream:

import java.io.*;

public class fileStreamTest{

public static void main(String args[]){ try{ byte bWrite [] = {11,21,3,40,5}; OutputStream os = new FileOutputStream("test.txt"); for(int x=0; x < bWrite.length ; x++){ os.write( bWrite[x] ); // writes the bytes } os.close(); InputStream is = new FileInputStream("test.txt"); int size = is.available();

for(int i=0; i< size; i++){ System.out.print((char)is.read() + " "); } is.close(); }catch(IOException e){ System.out.print("Exception"); } }}

The above code would create file test.txt and would write given numbers in binary format. Same would be output on the stdout screen.

Page 31: Computer Project (Movie Ticketing System)

An exception is a problem that arises during the execution of a program. An exception can occur for many different reasons, including the following:

A user has entered invalid data.

A file that needs to be opened cannot be found.

A network connection has been lost in the middle of communications or the JVM has run out of memory.

Some of these exceptions are caused by user error, others by programmer error, and others by physical resources that have failed in some manner.

Categories of exceptions:

Checked exceptions: A checked exception is an exception that is typically a user error or a problem that cannot be foreseen by the programmer. For example, if a file is to be opened, but the file cannot be found, an exception occurs. These exceptions cannot simply be ignored at the time of compilation.

Runtime exceptions: A runtime exception is an exception that occurs that probably could have been avoided by the programmer. As opposed to checked exceptions, runtime exceptions are ignored at the time of compilation.

Errors: These are not exceptions at all, but problems that arise beyond the control of the user or the programmer. Errors are typically ignored in your code because you can rarely do anything about an error. For example, if a stack overflow occurs, an error will arise. They are also ignored at the time of compilation.

Catching Exceptions:

Page 32: Computer Project (Movie Ticketing System)

A method catches an exception using a combination of the try and catch keywords. A try/catch block is placed around the code that might generate an exception. Code within a try/catch block is referred to as protected code, and the syntax for using try/catch looks like the following:

try{ //Protected code}catch(ExceptionName e1){ //Catch block}

A catch statement involves declaring the type of exception you are trying to catch. If an exception occurs in protected code, the catch block (or blocks) that follows the try is checked. If the type of exception that occurred is listed in a catch block, the exception is passed to the catch block much as an argument is passed into a method parameter.

Example:The following is an array is declared with 2 elements. Then the code tries to access the 3rd element of the array which throws an exception.

// File Name : ExcepTest.javaimport java.io.*;public class ExcepTest{

public static void main(String args[]){ try{ int a[] = new int[2]; System.out.println("Access element three :" + a[3]); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("Exception thrown :" + e); } System.out.println("Out of the block"); }}

This would produce the following result:

Exception thrown :java.lang.ArrayIndexOutOfBoundsException: 3Out of the block

Multiple catch Blocks:A try block can be followed by multiple catch blocks. The syntax for multiple catch blocks looks like the following:

Page 33: Computer Project (Movie Ticketing System)

try{ //Protected code}catch(ExceptionType1 e1){ //Catch block}catch(ExceptionType2 e2){ //Catch block}catch(ExceptionType3 e3){ //Catch block}

The previous statements demonstrate three catch blocks, but you can have any number of them after a single try. If an exception occurs in the protected code, the exception is thrown to the first catch block in the list. If the data type of the exception thrown matches ExceptionType1, it gets caught there. If not, the exception passes down to the second catch statement. This continues until the exception either is caught or falls through all catches, in which case the current method stops execution and the exception is thrown down to the previous method on the call stack.

Example:Here is code segment showing how to use multiple try/catch statements.

try{ file = new FileInputStream(fileName); x = (byte) file.read();}catch(IOException i){ i.printStackTrace(); return -1;}catch(FileNotFoundException f) //Not valid!{ f.printStackTrace(); return -1;}

The throws/throw Keywords:If a method does not handle a checked exception, the method must declare it using the throwskeyword. The throws keyword appears at the end of a method's signature.You can throw an exception, either a newly instantiated one or an exception that you just caught, by using the throw keyword. Try to understand the different in throws and throw keywords.

Page 34: Computer Project (Movie Ticketing System)

The following method declares that it throws a RemoteException:

import java.io.*;public class className{ public void deposit(double amount) throws RemoteException { // Method implementation throw new RemoteException(); } //Remainder of class definition}

A method can declare that it throws more than one exception, in which case the exceptions are declared in a list separated by commas. For example, the following method declares that it throws a RemoteException and an InsufficientFundsException:

import java.io.*;public class className{ public void withdraw(double amount) throws RemoteException, InsufficientFundsException { // Method implementation } //Remainder of class definition}

The finally KeywordThe finally keyword is used to create a block of code that follows a try block. A finally block of code always executes, whether or not an exception has occurred.

Using a finally block allows you to run any cleanup-type statements that you want to execute, no matter what happens in the protected code.

A finally block appears at the end of the catch blocks and has the following syntax:

try{ //Protected code}catch(ExceptionType1 e1){ //Catch block}catch(ExceptionType2 e2){

Page 35: Computer Project (Movie Ticketing System)

//Catch block}catch(ExceptionType3 e3){ //Catch block}finally{ //The finally block always executes.}

Example:public class ExcepTest{

public static void main(String args[]){ int a[] = new int[2]; try{ System.out.println("Access element three :" + a[3]); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("Exception thrown :" + e); } finally{ a[0] = 6; System.out.println("First element value: " +a[0]); System.out.println("The finally statement is executed"); } }}

This would produce the following result:

Exception thrown :java.lang.ArrayIndexOutOfBoundsException: 3First element value: 6The finally statement is executed

Note the following:

A catch clause cannot exist without a try statement. It is not compulsory to have finally clauses when ever a try/catch block is present. The try block cannot be present without either catch clause or finally clause. Any code cannot be present in between the try, catch, finally blocks.

The Java Project Program (Movie Ticketing System)

Page 36: Computer Project (Movie Ticketing System)

import java.io.*;public class movies{ static double bill; static int c,type,d,flag; static int e,type1,f; static int g,type2,h; //Initialising all the required variables static int i,type3,j; static int quan; static String l,n[],k; static int m; static String s,s1,s2,s3; public static void main(String [] args)throws IOException { String a,b;String ch=""; String n[]=new String[4]; n[0]="burger"; n[1]="nachos"; n[2]="coke"; n[3]="popcorn"; BufferedReader buf=new BufferedReader(new

InputStreamReader(System.in)); do { System.out.println("--------------- WELCOME TO FUN CINEMAS ONLINE

BOOKING COUNTER ---------------"); System.out.println(" PLEASE SELECT THE MOVIE YOU WOULD LIKE TO

WATCH: "); System.out.println("\n"); System.out.println("1. IRON MAN 3 "); System.out.println("2. FAST AND FURIOUS 6 "); System.out.println("3. GO GOA GONE ");

//Here the movie is being selected System.out.println("4. MAN OF STEEL "); System.out.println("\n"); System.out.println("TYPE THE NAME OF THE MOVIE YOU WANT TO WATCH IN CAPILTAL

LETTERS"); try { ch=buf.readLine(); //an expected error that the user enters

something else instead of the movie } catch(IOException e1) { System.out.println("Movie not running"); //handling of the exception } if(ch.equalsIgnoreCase("IRON MAN 3")) { System.out.println("\nPROCESSING YOUR REQUEST"); for(int z=0;z<1000000000;z++)

Page 37: Computer Project (Movie Ticketing System)

{ } System.out.println("\f"); IM3(); } if(ch.equalsIgnoreCase("FAST AND FURIOUS 6")) { System.out.println("\nPROCESSING YOUR REQUEST"); for(int z=0;z<1000000000;z++) { } System.out.println("\f");

//calling of the function corresponding to the movie selected FAF6(); } if(ch.equalsIgnoreCase("GO GOA GONE")) { System.out.println("\nPROCESSING YOUR REQUEST"); for(int z=0;z<1000000000;z++) { } System.out.println("\f"); GGG(); } if(ch.equalsIgnoreCase("MAN OF STEEL")) { System.out.println("\nPROCESSING YOUR REQUEST"); for(int z=0;z<1000000000;z++) { } System.out.println("\f"); MOS(); } System.out.println("\n\n"); System.out.println("DO YOU WANT TO BOOK SOME SNACKS:"); System.out.println("\n\n"); System.out.println("TYPE 'Y' FOR YES OR PRESS ANY OTHER KEY"); a=buf.readLine(); System.out.println("\nPROCESSING YOUR REQUEST"); for(int z=0;z<1000000000;z++) { } System.out.println("\f"); if(a.equalsIgnoreCase("y")) //checking whether the user wants to buy

some snacks or not { SNACKS(); } System.out.println("\n\n"); System.out.println("*** **** ***** COPY OF THE RECIEPT IS: ***** **** ***"); System.out.println("MOVIE: "+ch); System.out.println("NO. OF TICKETS: "+d);

//displaying of the bill do { System.out.print("THE SNACKS BOOKED ARE: ");

Page 38: Computer Project (Movie Ticketing System)

for(m=0;m<1;m++) { if(s.equalsIgnoreCase(n[m])) { flag=0; System.out.print(n[m]); break; } } for(m=1;m<2;m++) { if(s1.equalsIgnoreCase(n[m])) { flag=0; System.out.print(", "+n[m]); break; }

} for(m=2;m<3;m++) { if(s2.equalsIgnoreCase(n[m])) { flag=0; System.out.print(", "+n[m]); break; } } for(m=3;m<4;m++) { if(s3.equalsIgnoreCase(n[m])) { flag=0; System.out.println(", "+n[m]); break; } } }while(flag!=0);

System.out.println("\nPAY Rs. "+bill); System.out.println("~~~~~~~~~~ TYHANK YOU FOR WATHCHING MOVIES WITH FUN CINEMAS

~~~~~~~~~~");

System.out.println("DO YOU WANT TO BOOK TICKET FOR ANY OTHER MOVIE:"); System.out.println("\n\n"); System.out.println("TYPE 'Y' FOR YES OR PRESS ANY OTHER KEY");

//checking whether the user wants to buy any tother movie ticket or not b=buf.readLine(); } while(b.equalsIgnoreCase("y")); }

public static void IM3()throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

Page 39: Computer Project (Movie Ticketing System)

System.out.println("---------- WHAT TIMING OF THE MOVIE IRON MAN 3 DO YOU WANT TO BOOK ----------");

System.out.println("\n\n"); System.out.println("ENTER: \n 1. for 8:00 am \n 2. for 11:00 am \n 3. for 2:00 pm \n 4.

for 5:00 pm \n 5. for 9:00 pm"); try { c=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } System.out.println("WHICH CLASS WOULD YOU LIKE TO BOOK:"); System.out.println("\n\n"); System.out.println(" 1.BUSSINESS\n 2.GOLD\n 3.SILVER\n 4.BRONZE"); try { type=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } switch(type) { case 1: System.out.println("THE PRICE IS Rs.500 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); d=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+d*500); bill=bill+(d*500); break; case 2: System.out.println("THE PRICE IS Rs.250 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); d=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+d*250); bill=bill+(d*250); break; case 3: System.out.println("THE PRICE IS Rs.175 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); d=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+d*175); bill=bill+(d*175); break; case 4: System.out.println("THE PRICE IS Rs.100 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); d=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+d*100);

Page 40: Computer Project (Movie Ticketing System)

bill=bill+(d*100); break; default: System.out.println("INVALID ENTRY"); } }

public static void FAF6()throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("---------- WHAT TIMING OF THE MOVIE FAST AND FURIOUS 6 DO YOU WANT

TO BOOK ----------"); System.out.println("\n\n"); System.out.println("ENTER: \n 1. for 8:30 am \n 2. for 11:30 am \n 3. for 2:30 pm \n 4.

for 5:30 pm \n 5. for 9:30 pm"); try { e=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } System.out.println("WHICH CLASS WOULD YOU LIKE TO BOOK:"); System.out.println("\n\n"); System.out.println(" 1.BUSSINESS\n 2.GOLD\n 3.SILVER\n 4.BRONZE"); try { type1=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } switch(type1) { case 1: System.out.println("THE PRICE IS Rs.500 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); f=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+f*500); bill=bill+(f*500); break; case 2: System.out.println("THE PRICE IS Rs.250 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); f=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+f*250); bill=bill+(f*250); break; case 3: System.out.println("THE PRICE IS Rs.175 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS");

Page 41: Computer Project (Movie Ticketing System)

f=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+f*175); bill=bill+(f*175); break; case 4: System.out.println("THE PRICE IS Rs.100 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); f=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+f*100); bill=bill+(f*100); break; default: System.out.println("INVALID ENTRY"); } }

public static void GGG()throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("---------- WHAT TIMING OF THE MOVIE GO GOA GONE DO YOU WANT TO BOOK

----------"); System.out.println("\n\n"); System.out.println("ENTER: \n 1. for 9:00 am \n 2. for 12:00 am \n 3. for 3:00 pm \n 4.

for 6:00 pm \n 5. for 10:00 pm"); try { g=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } System.out.println("WHICH CLASS WOULD YOU LIKE TO BOOK:"); System.out.println("\n\n"); System.out.println(" 1.BUSSINESS\n 2.GOLD\n 3.SILVER\n 4.BRONZE"); try { type2=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } switch(type2) { case 1: System.out.println("THE PRICE IS Rs.500 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); h=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+h*500); bill=bill+(h*500); break; case 2: System.out.println("THE PRICE IS Rs.250 PER TICKET");

Page 42: Computer Project (Movie Ticketing System)

System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); h=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+h*250); bill=bill+(h*250); break; case 3: System.out.println("THE PRICE IS Rs.175 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); h=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+h*175); bill=bill+(h*175); break; case 4: System.out.println("THE PRICE IS Rs.100 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); h=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+h*100); bill=bill+(h*100); break; default: System.out.println("INVALID ENTRY"); } }

public static void MOS()throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("---------- WHAT TIMING OF THE MOVIE MAN OF STEEL DO YOU WANT TO

BOOK ----------"); System.out.println("\n\n"); System.out.println("ENTER: \n 1. for 9:30 am \n 2. for 12:30 am \n 3. for 3:30 pm \n 4.

for 6:30 pm \n 5. for 10:30 pm"); try { i=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } System.out.println("WHICH CLASS WOULD YOU LIKE TO BOOK:"); System.out.println("\n\n"); System.out.println(" 1.BUSSINESS\n 2.GOLD\n 3.SILVER\n 4.BRONZE"); try { type3=Integer.parseInt(buf.readLine()); } catch(IOException e1) { System.out.println("invalid entry"); } switch(type3) {

Page 43: Computer Project (Movie Ticketing System)

case 1: System.out.println("THE PRICE IS Rs.500 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); j=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+j*500); bill=bill+(j*500); break; case 2: System.out.println("THE PRICE IS Rs.250 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); j=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+j*250); bill=bill+(j*250); break; case 3: System.out.println("THE PRICE IS Rs.175 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); j=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+j*175); bill=bill+(j*175); break; case 4: System.out.println("THE PRICE IS Rs.100 PER TICKET"); System.out.println("\n\n"); System.out.println("ENTER THE NO. OF TICKETS"); j=Integer.parseInt(buf.readLine()); System.out.println("THE AMT OF THE TICKETS= "+j*100); bill=bill+(j*100); break; default: System.out.println("INVALID ENTRY"); } }

public static void SNACKS()throws IOException { String n[]=new String[4]; n[0]="burger"; n[1]="nachos"; n[2]="coke"; n[3]="popcorn"; BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("---------- WHICH SNACK WOULD YOU LIKE TO BOOK ----------"); System.out.println("\n\n"); System.out.println("1. BURGER \n2. NACHOS \n3. COKE \n4. POPCORN "); System.out.println("ENTER THE NAME OF THE SNACK IN THE ABOVE MENTIONED ORDER,\nNOTE:

AFTER WRITING THE NAME OF THE SSNACK HIT ENTER AND IF YOU DO NOT WANT TO BUY ANY SNACK THEN HIT ENTER AND TYPE THE NEXT SNACK");

try { s=buf.readLine(); } catch(NumberFormatException e1)

Page 44: Computer Project (Movie Ticketing System)

{ System.out.println("INVALID ENTRY"); } try { s1=buf.readLine(); } catch(NumberFormatException e1) { System.out.println("INVALID ENTRY"); } try { s2=buf.readLine(); } catch(NumberFormatException e1) { System.out.println("INVALID ENTRY"); } try { s3=buf.readLine(); } catch(NumberFormatException e1) { System.out.println("INVALID ENTRY"); } if(s.equalsIgnoreCase(n[0])) { System.out.println("\n\n"); System.out.println("FOR BURGER"); System.out.println("THE PRICE IS RS.80"); System.out.println("ENTER HOW MANY BURGERS DO YOU WANT TO BUY:"); try { quan=Integer.parseInt(buf.readLine()); } catch(IOException e2) { System.out.println("INVALID ENTRY"); } bill=bill+(quan*50);

} if(s1.equalsIgnoreCase(n[1])) { System.out.println("\n\n"); System.out.println("FOR NACHOS"); System.out.println("THE PRICE IS RS.100"); System.out.println("ENTER HOW MANY NACHOS DO YOU WANT TO BUY:"); try { quan=Integer.parseInt(buf.readLine()); } catch(IOException e2) {

Page 45: Computer Project (Movie Ticketing System)

System.out.println("INVALID ENTRY"); } bill=bill+(quan*100);

} if(s2.equalsIgnoreCase(n[2])) { System.out.println("\n\n"); System.out.println("FOR COKE"); System.out.println("THE PRICE IS RS.70"); System.out.println("ENTER HOW MANY COKE DO YOU WANT TO BUY:"); try { quan=Integer.parseInt(buf.readLine()); } catch(IOException e2) { System.out.println("INVALID ENTRY"); } bill=bill+(quan*70); } if(s3.equalsIgnoreCase(n[3])) { System.out.println("\n\n"); System.out.println("FOR POPCORN"); System.out.println("THE PRIC IS RS.90"); System.out.println("ENTER HOW MANY POPCORN DO YOU WANT TO BUY:"); try { quan=Integer.parseInt(buf.readLine()); } catch(IOException e2) { System.out.println("INVALID ENTRY"); } bill=bill+(quan*90); } }}

Variable Data type Use of the variablebill Double it stores the bill

amountc int Stores the time

Page 46: Computer Project (Movie Ticketing System)

entered by the user for the movie iron

man 3type Int Stores the class of

the move iron man 3d Int Stores the no. of

tickets bought for movie iron man 3

flag Int Loop control variable for checking the

snacks entered by the use and

displaying them.e Int Stores the time

entered by the user for the movie fast and the furious 6

type1 Int Stores the class of the move fast and

the furious 6f Int Stores the no. of

tickets bought for movie fast and the

furious 6g int Stores the time

entered by the user for the movie go goa

Page 47: Computer Project (Movie Ticketing System)

gonetype2 Int Stores the class of

the move go goa gone

h Int Stores the no. of tickets bought for

movie go goa gonei int Stores the time

entered by the user for the movie man of

steeltype3 Int Stores the class of

the move man of steel

j Int Stores the no. of tickets bought for

movie man of steelquan Int Stores the quantity

of snacks bought by the user

n[] String(array) Stores the snacks options for the user

M Int It is the loop control variable which

compares the snack entered by the user

with the snacks

Page 48: Computer Project (Movie Ticketing System)

stored in n.s String The 1st snack entered

by the users1 String The 2nd snack

entered by the users2 String The 3rd snack

entered by the users3 String The 4th snack

entered by the usera String Checks whether the

user wants to buy any snacks or not.

b String Checks whether user wants to buy more

tickets or notch String Stores the movie

entered by the user z int Loop control variable

for the loop for delaying the process

SCREEN 1:--------------- WELCOME TO FUN CINEMAS ONLINE BOOKING COUNTER --------------- PLEASE SELECT THE MOVIE YOU WOULD LIKE TO WATCH:

Page 49: Computer Project (Movie Ticketing System)

1. IRON MAN 3 2. FAST AND FURIOUS 6 3. GO GOA GONE 4. MAN OF STEEL

TYPE THE NAME OF THE MOVIE YOU WANT TO WATCH IN CAPILTAL LETTERSIRON MAN 3PROCESSING YOUR REQUESTSCREEN 2:---------- WHAT TIMING OF THE MOVIE IRON MAN 3 DO YOU WANT TO BOOK ----------

ENTER: 1. for 8:00 am 2. for 11:00 am 3. for 2:00 pm 4. for 5:00 pm 5. for 9:00 pm1WHICH CLASS WOULD YOU LIKE TO BOOK:

1.BUSSINESS 2.GOLD 3.SILVER 4.BRONZE1THE PRICE IS Rs.500 PER TICKET

ENTER THE NO. OF TICKETS5THE AMT OF THE TICKETS= 2500

DO YOU WANT TO BOOK SOME SNACKS:

TYPE 'Y' FOR YES OR PRESS ANY OTHER KEYY

PROCESSING YOUR REQUESTSCREEN 3:---------- WHICH SNACK WOULD YOU LIKE TO BOOK ----------

1. BURGER 2. NACHOS 3. COKE 4. POPCORN ENTER THE NAME OF THE SNACK IN THE ABOVE MENTIONED ORDER,

Page 50: Computer Project (Movie Ticketing System)

NOTE: AFTER WRITING THE NAME OF THE SSNACK HIT ENTER AND IF YOU DO NOT WANT TO BUY ANY SNACK THEN HIT ENTER AND TYPE THE NEXT SNACK

BURGER

COKEPOPCORN

FOR BURGERTHE PRICE IS RS.80ENTER HOW MANY BURGERS DO YOU WANT TO BUY:5

FOR COKETHE PRICE IS RS.70ENTER HOW MANY COKE DO YOU WANT TO BUY:5

FOR POPCORNTHE PRIC IS RS.90ENTER HOW MANY POPCORN DO YOU WANT TO BUY:2

SCREEN 4:

*** **** ***** COPY OF THE RECIEPT IS: ***** **** ***MOVIE: IRON MAN 3NO. OF TICKETS: 5THE SNACKS BOOKED ARE: burger coke popcorn

PAY Rs. 3280.0~~~~~~~~~~ TYHANK YOU FOR WATHCHING MOVIES WITH FUN CINEMAS ~~~~~~~~~~DO YOU WANT TO BOOK TICKET FOR ANY OTHER MOVIE:

TYPE 'Y' FOR YES OR PRESS ANY OTHER KEYN