Spring 2020: Programming in Java Lab

From MKWiki
Jump to navigation Jump to search
  • Instructions
    • Please sign the attendance register before you take a seat.
    • Please be on time to avoid the attendance penalty.
    • Turn off(shutdown) your assigned computer after finishing your work (or before you leave the lab).
    • Please arrange the chairs in proper place while leaving the lab.
    • Please put your phone in silent mode.

Lab 1: Getting Started ( week of 8th January 2020 )

  • Brief introduction to Java Basic Building Blocks Download
Q. NO. Program Lab Exercise No. Remarks
1 WAP to find the sum of any number of integers entered as command line argument Lab Exercise No. 1
2 WAP to find the factorial of a given number Lab Exercise No. 2
3 WAP to check whether the given number is prime or not Lab Exercise No. 6
4 WAP to print the following pattern using nested for loop:
*
* *
* * *
* * * *
Practice Set No. L1

Lab 2: ( week of 15th January 2020 )

  • Reading input from keyboard, Arrays Download
Q. NO. Program Lab Exercise No. Remarks
1 WAP to read data of various types from user(keyboard) Practice Set No. L2
2 Rewrite the Lab Exercise No. 3, by taking the number as input from the keyboard Lab Exercise No. 6
3 WAP to learn use of single dimensional array by defining the array dynamically Lab Exercise No. 3
4 WAP to Search an element in the array(Linear Search) Practice Set No. L2(2)
5 WAP to learn use of Two dimensional array by defining the array dynamically Lab Exercise No. 4

Lab 3: ( week of 22nd January 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 WAP to convert a decimal number to a binary number Lab Exercise No. 5 Solution
2 WAP to convert a decimal number to a octal number Practice Set No. L3
3 WAP to find the sum of any number of integers interactively, i.e., entering every number from the keyboard, where as the total number of integers is given as a command line argument. Lab Exercise No. 7
4* WAP that show working of different functions of String and StringBuffer class like setCharAt(), setLength(), append(), insert(), concat(), and equals() Lab Exercise No. 8 Concepts of String Handling is required

Lab 4: ( week of 29th January 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Create a Box class consisting of three instance variables: width, height, and depth. Create another class named BoxDemo that:
  • Declares 3 objects of type Box ,
  • Assigns values to the instance variables of Box objects, and
  • Finally computes the volume of all 3 Box objects.

There are no methods in this class.

Practice Set No. L4
2 Implement Q. NO. 1 using methods. Apply the concepts like methods taking parameter, methods returning values, etc. Practice Set No. L4(2)
3 Write a program to create a “distance” class with methods where distance is computed in terms of feet and inches, how to create objects of a class and to see the use of this pointer. Lab Exercise No. 9

Lab 5: ( week of 05th February 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Create a Box class consisting of three instance variables: width, height, and depth. Create another class named BoxDemo that:
  • Declares 3 objects of type Box ,
  • Assign the values of object 1 using Default Constructor(explicit).
  • Assign the values of object 2 using Parameterized Constructor.
  • Assign the values of object 3 using Parameterized Method.

Finally computer the volume of all three objects.

Practice Set No. L5
2* Modify the "distance" class by creating constructor for assigning values (feet and inches) to the distance object. Create another object and assign second object as reference variable to another object reference variable. Further create a third object which is a clone of the first object. Lab Exercise No. 10
3 Write a program to show that during method overloading, if no matching argument is found, then java will apply automatic type conversions(from lower to higher data type). Lab Exercise No. 11

Lab 6: ( week of 12th February 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Implement a Stack class with two data items(array stk and tos) and three methods(Stack() Constructor to initialize tos, Push(), and Pop() ) Practice Set No. L6
2 Complete the remaining section of Q. NO. 2 of Lab 5 (using copy constructor) Lab Exercise No. 10
3* Write a program to show the difference between public and private access specifiers. The program should also show that primitive data types are passed by value and objects are passed by reference and to learn use of final keyword. Lab Exercise No. 12 Read final keyword examples from [1]

Lab 7: ( week of 19th February 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Write a program to demonstrate the concept of static keyword for:
  • variable
  • method
  • block
Practice Set No. L7 Read about static keyword in detail from [2]
2 Write a program to show the use of static functions and to pass variable length arguments in a function. Lab Exercise No. 13 Read about varargs from [3]
3 Write a program to demonstrate the concept of boxing and unboxing. Lab Exercise No. 14 Read about Autoboxing and Unboxing from [4]

Lab 8: (week of 18th March 2020 )

Q. NO. Program Lab Exercise No. Remarks
1 Create a multi-file program where in one file a string message is taken as input from the user and the function to display the message on the screen is given in another file (make use of Scanner package in this program). Lab Exercise No. 15 Read tutorial on Packages from [5]

Solution: file1.java, file2.java

2 Write a program to create a multilevel package and also creates a reusable class to generate Fibonacci series, where the function to generate Fibonacii series is given in a different file belonging to the same package. Lab Exercise No. 16

Solution: fibonacci.java, fiboTest.java

3 Write a program that creates illustrates different levels of protection in classes/subclasses belonging to same package or different packages. Lab Exercise No. 17 Same as discussed in class ppt under An Access Example

Exception Handling

Q. NO. Program Lab Exercise No. Remarks
1 Write a program “DivideByZero” that takes two numbers a and b as input, computes a/b, and invokes Arithmetic Exception to generate a message when the denominator is zero. EH (1) Read tutorial on Exception Handling from [6]

Solution: DivideByZero.java

2 Write a program to show the use of nested try statements that emphasizes the sequence of checking for catch handler statements. EH (2)

Solution: NestedTry1.java

3 Write a program to create your own exception types to handle situation specific to your application (Hint: Define a subclass of Exception which itself is a subclass of Throwable). EH (3)

Solution: ExceptionTest.java

4 Write a program to implement stack. Use exception handling to manage underflow and overflow conditions. EH (4)

Solution(1): file1 file2 file3 Test File
Solution(2): StackExceptionTest.java

5 Create an exception subclass UnderAge, which prints "Under Age" along with the age value when an object of UnderAge class is printed in the catch statement.

Write a class exceptionDemo in which the method test() throws UnderAge exception if the variable age passed to it as argument is less than 18. Write main() method also to show working of the program.

EH (5) Solution:

UnderAgeExceptionTest.java

I/O Strems (or File Handling)

Q. NO. Program Lab Exercise No. Remarks
1 Write a program to read characters from console using BufferedReader I/O (1) Read tutorial on Java I/O from [7]

Solution: BRRead.java

2 Write a program to read string from console using BufferedReader I/O (2)

Solution: BRReadLines.java

3 Write a program that copies content of one file to another. Pass the names of the files through command-line arguments. I/O (3) Solution1: CopyFile.java

Solution2: CopyFile2.java
Sample input file(Source)
TEXT.TXT

4 Write a program to read a file and display only those lines that have the first two characters as '//' (Use try with resources). I/O (4) Read tutorial on The try-with-resources statement from [8]

Solution: TryWithResources.java Sample input file
TWR.TXT

Event Handling, AWT and Swings

Q. NO. Program Lab Exercise No. Remarks
1 Write a program to handle mouse events(Clicked, Entered, Exited, Presses, and Released). AWTnEH(1) Solution:

MouseListenerExample.java Read tutorial from [9]

2 Write a program to handle key events(Pressed, Released, and Typed). AWTnEH(2) Solution:

KeyListenerExample.java Read tutorial from [10]

3 Using AWT, write a program to display a string in frame window with pink colour as background. AWTnEH(3) Solution: SetBGColor.java

Read tutorial on Adapter Classes from [11]

4 Using AWT, write a program to create two buttons named “Red” and “Blue”. When a button is pressed the background color should be set to the color named by the button’s label. AWTnEH(4) Solution: ButtonPress.java
5 Using AWT, write a program which responds to KEY_TYPED event and updates the status window with message (“Typed character is: X”). Use adapter class for other two events. AWTnEH(5) Solution: KbdAdapterDemo.java

Read Java KeyAdapter Example from tutorial on Adapter Classes [12]

6 Using AWT, write a program to create two buttons labelled ‘A’ and ‘B’. When button ‘A’ is pressed, it displays your personal information (Name, Course, Roll No, College) and when button ‘B’ is pressed, it displays your CGPA in previous semester. AWTnEH(6) Solution: PersonalInfo.java

CGPA.java PersonalInfoCGPADemo

7 Rewrite Q. NO. 3-6 using Swing SWG(3-6)