GOVERNMENT ARTS AND SCIENCE COLLEGE (CO-EDUCATION)
AVINASHI - 641 654
(Affiliated to Bharathiar University, Coimbatore)
Kaikaattiputhur (Post), Avinashi – 641 654
DEPARTMENT OF COMPUTER SCIENCE
Core Lab 4 : PROGRAMMING LAB – JAVA
LABORATORY RECORD
2025 – 2026
NAME
REG NO
CLASS
GOVERNMENT ARTS AND SCIENCE COLLEGE (CO-EDUCATION)
AVINASHI - 641 654
(Affiliated to Bharathiar University, Coimbatore)
Kaikaattiputhur (Post), Avinashi – 641 654
BONAFIDE CERTIFICATE
NAME :
REG NO :
CLASS :
This is to certify that it is a bonafide record of work done by the above student
of the B.Sc., Computer Science for the practical subject CORE LAB 4:
PROGRAMMING LAB – JAVA during the academic year 2025 - 2026.
Staff In-Charge Head of the Department
Submitted for the University Practical Examinations held on ___________.
Internal Examiner External Examiner
INDEX
PAGE
S.NO DATE CONTENTS SIGN
NO
1 30/06/25 STRING EXTRACTION
2 09/07/25 MULTIPLE INHERITANCE USING INTERFACES
3 17/07/25 USER-DEFINED EXCEPTION
4 25/07/25 MULTITHREADING WITH PRIORITIES
5 04/08/25 DRAWING DIFFERENT SHAPES
6 12/08/25 TEXT FIELDS WITH BUTTON
7 21/08/25 MULTIPLE SELECTION LIST BOX
8 01/09/25 USER DETAILS FORM
9 10/09/25 MENU BAR AND PULL-DOWN MENUS
10 18/09/25 MOUSE EVENT HANDLING
11 26/09/25 SHAPES ON MOUSE CLICK POSITIONS
12 08/10/25 FILE APPEND OPERATION
1. STRING EXTRACTION
import java.util.*;
class Prac1
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str, substring;
int n;
System.out.println("Enter the string:");
str = sc.nextLine();
System.out.println("Length of the string:" + str.length());
System.out.println("Enter the one value to extract substring:");
n = sc.nextInt();
substring = str.substring(n);
System.out.println("Extracted string:" + substring);
System.out.println("Length of extracted string:" + substring.length());
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac Prac1.java
C:\java\jdk1.8.0_202\bin>java Prac1
Enter the string:
Tamilnadu
Length of the string:9
Enter the one value to extract substring:
5
Extracted string:nadu
Length of extracted string:4
RESULT
The above program was executed and verified successfully.
2. MULTIPLE INHERITANCE USING INTERFACES
interface sports
{
float sports = 6.0f;
default void putsports()
{
System.out.println("Sports: " + sports);
}
}
class Roll
{
int roll;
void get(int n)
{
roll = n;
}
void put()
{
System.out.println("Roll: " + roll);
}
}
class marks extends Roll
{
float m1, m2;
void getmarks(float a, float b)
{
m1 = a;
m2 = b;
}
void putmarks()
{
System.out.println("Marks: Mark1 = " + m1 + ", Mark2 = " + m2);
}
}
class Result extends marks implements sports
{
void show()
{
put();
putmarks();
putsports();
System.out.println("Total: " + (m1 + m2 + sports));
}
}
public class college
{
public static void main(String args[])
{
Result r = new Result();
r.get(1234);
r.getmarks(27.5f, 33.0f);
r.show();
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac college.java
C:\java\jdk1.8.0_202\bin>java college
Roll: 1234
Marks: Mark1 = 27.5, Mark2 = 33.0
Sports: 6.0
Total: 66.5
RESULT
The above program was executed and verified successfully.
3. USER-DEFINED EXCEPTION
import java.io.*;
class PayOutOfBounds extends Exception
{
int value;
PayOutOfBounds(int v)
{
value = v;
}
public String toString()
{
return "PAY_OUT_OF_BOUNDS[" + value + "]";
}
}
public class poob
{
static void calc(int pay) throws PayOutOfBounds
{
System.out.println("CALLED CALC(" + pay + ")");
if (pay > 1000 || pay <= 0)
throw new PayOutOfBounds(pay);
System.out.println("NORMAL EXIT");
}
public static void main(String[] args)
{
try
{
calc(Integer.parseInt(args[0]));
}
catch (PayOutOfBounds e)
{
System.out.println("CAUGHT " + e);
}
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac poob.java
C:\java\jdk1.8.0_202\bin>java poob 10000
CALLED CALC(10000)
CAUGHT PAY_OUT_OF_BOUNDS[10000]
C:\java\jdk1.8.0_202\bin>java poob -5
CALLED CALC(-5)
CAUGHT PAY_OUT_OF_BOUNDS[-5]
C:\java\jdk1.8.0_202\bin>java poob 100
CALLED CALC(100)
NORMAL EXIT
C:\java\jdk1.8.0_202\bin>java poob 0
CALLED CALC(0)
CAUGHT PAY_OUT_OF_BOUNDS[0]
C:\java\jdk1.8.0_202\bin>java poob 1
CALLED CALC(1)
NORMAL EXIT
RESULT
The above program was executed and verified successfully.
4. MULTITHREADING WITH PRIORITIES
class TableThread extends Thread
{
int num;
TableThread(intnum)
{
this.num = num;
}
public void run()
{
System.out.println("Table of " + num + " (Priority: " + getPriority() + ")");
for (int i = 1; i<= 10; i++)
{
System.out.println(num + " x " + i + " = " + (num * i));
}
}
}
public class MultiTable
{
public static void main(String[] args)
{
TableThread t1 = new TableThread(5);
TableThread t2 = new TableThread(7);
TableThread t3 = new TableThread(13);
t1.setPriority(Thread.MIN_PRIORITY);
t2.setPriority(Thread.NORM_PRIORITY);
t3.setPriority(Thread.MAX_PRIORITY);
t1.start();
t2.start();
t3.start();
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac Multitable.java
C:\java\jdk1.8.0_202\bin>java MultiTable
Table of 5 (Priority: 1)
5x1=5
Table of 13 (Priority: 10)
Table of 7 (Priority: 5)
13 x 1 = 13
5 x 2 = 10
13 x 2 = 26
7x1=7
13 x 3 = 39
5 x 3 = 15
5 x 4 = 20
13 x 4 = 52
7 x 2 = 14
13 x 5 = 65
13 x 6 = 78
5 x 5 = 25
13 x 7 = 91
7 x 3 = 21
7 x 4 = 28
13 x 8 = 104
13 x 9 = 117
13 x 10 = 130
5 x 6 = 30
5 x 7 = 35
7 x 5 = 35
5 x 8 = 40
5 x 9 = 45
7 x 6 = 42
7 x 7 = 49
5 x 10 = 50
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70
RESULT
The above program was executed and verified successfully.
5. DRAWING DIFFERENT SHAPES
import java.awt.*;
import java.applet.*;
/*<applet code="program5.class" width="800" height="600"></applet>*/
public class program5 extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawLine(50, 50, 150, 150);
g.drawString("Line", 50, 170);
g.setColor(Color.green);
g.fillRect(200, 50, 150, 100);
g.drawString("Rectangle", 230, 170);
g.setColor(Color.pink);
g.fillOval(400, 50, 100, 100);
g.drawString("Circle", 430, 170);
g.setColor(Color.orange);
g.fillRect(550, 50, 100, 100);
g.drawString("Square", 580, 170);
g.setColor(Color.cyan);
g.fillOval(100, 250, 150, 100);
g.drawString("Oval", 150, 370);
g.setColor(Color.red);
g.drawArc(300, 250, 150, 100, 45, 270);
g.drawString("Arc", 350, 370);
g.setColor(Color.magenta);
g.fillRoundRect(500, 250, 150, 100, 30, 30);
g.drawString("RoundRect", 530, 370);
g.setColor(Color.orange);
int[] x = {150, 100, 200};
int[] y = {450, 550, 500};
g.fillPolygon(x, y, 3);
g.drawString("Polygon", 130, 570);
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac program5.java
C:\java\jdk1.8.0_202\bin>appletviewer program5.java
RESULT
The above program was executed and verified successfully.
6. TEXT FIELDS WITH BUTTON
import java.awt.*;
import java.awt.event.*;
public class MyDetails extends Frame implements ActionListener
{
TextField name, street, city, pin;
Button B;
MyDetails()
{
setLayout(null);
add(new Label("Name:")).setBounds(130, 130, 80, 30);
add(new Label("Street:")).setBounds(130, 180, 80, 30);
add(new Label("City:")).setBounds(130, 230, 80, 30);
add(new Label("Pincode:")).setBounds(130, 280, 80, 30);
name = new TextField();
name.setBounds(230, 130, 120, 30);
add(name);
street = new TextField();
street.setBounds(230, 180, 120, 30);
add(street);
city = new TextField();
city.setBounds(230, 230, 120, 30);
add(city);
pin = new TextField();
pin.setBounds(230, 280, 120, 30);
add(pin);
B = new Button("My Details");
B.setBounds(170, 350, 80, 30);
B.addActionListener(this);
add(B);
setTitle("Details Form");
setSize(500, 500);
setVisible(true);
addWindowListener(new MyWindowCloser());
}
public void actionPerformed(ActionEvent e)
{
name.setText("Ragavan");
street.setText("Sulur");
city.setText("Coimbatore");
pin.setText("641407");
setTitle("My Address");
}
public static void main(String[] args)
{
newMyDetails();
}
}
classMyWindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac MyDetails.java
C:\java\jdk1.8.0_202\bin>java MyDetails
RESULT
The above program was executed and verified successfully.
7. MULTIPLE SELECTION LIST BOX
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/* <applet code="Listbox1.class" width=400 height=300></applet> */
public class Listbox1 extends Applet implements ItemListener
{
List os = new List(5, true);
TextArea ta = new TextArea(5, 20);
public void init()
{
String[] fruits = {"APPLE", "ORANGE", "PLUMS", "PINEAPPLE", "BANANA", "GUAVA",
"POTATO"};
for(String f : fruits)
os.add(f);
add(os);
add(ta);
os.addItemListener(this);
}
public void itemStateChanged(ItemEvent e)
{
ta.setText("Selected:\n");
for(String s : os.getSelectedItems())
ta.append(s + "\n");
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac Listbox1.java
C:\java\jdk1.8.0_202\bin>appletviewer Listbox1.java
RESULT
The above program was executed and verified successfully.
8. USER DETAILS FORM
import java.awt.*;
import java.awt.event.*;
public class Pgm8 extends Frame implements ActionListener
{
TextField tname=new TextField(10);
TextField tage=new TextField(15);
TextField tedu=new TextField(25);
TextArea taddress=new TextArea (5,25);
Button details=new Button("Details");
Button close=new Button("close");
public Pgm8()
{
setTitle("Details");
setLayout(new FlowLayout());
add(new Label("Name"));
add(tname);
add(new Label("Age"));
add(tage);
add(new Label("Qualification"));
add(tedu);
add(new Label("Address"));
add(taddress);
add(details);
add(close);
details.addActionListener(this);
close.addActionListener(this)
setSize(900,500);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==details)
{
tname.setText("Ragavan");
tage.setText("20");
tedu.setText("BSc(CS)");
taddress.setText("Ragavan\nAvinashi\n641654");
}
else
System.exit(0);
}
}
public static void main(String[] args)
{
new Pgm8();
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac Pgm8.java
C:\java\jdk1.8.0_202\bin>java Pgm8
RESULT
The above program was executed and verified successfully.
9. MENU BAR AND PULL-DOWN MENUS
import java.applet.*;
import java.awt.*;
/*<applet code=MenuDemo.class width=500 height=500></applet>*/
public class MenuDemo extends Applet
{
public void init()
{
Frame f = new Frame("Simple Menu Demo");
f.setSize(500, 500);
MenuBarmb = new MenuBar();
Menu file = new Menu("File");
file.add(new MenuItem("New"));
file.add(new MenuItem("Open"));
file.add(new MenuItem("Save"));
file.addSeparator();
file.add(new MenuItem("Exit"));
mb.add(file);
Menu edit = new Menu("Edit");
edit.add(new MenuItem("Cut"));
edit.add(new MenuItem("Copy"));
edit.add(new MenuItem("Paste"));
Menu format = new Menu("Format");
format.add(new MenuItem("Font"));
format.add(new MenuItem("Color"));
format.add(new CheckboxMenuItem("Word Wrap"));
edit.add(format);
mb.add(edit);
f.setMenuBar(mb);
f.setVisible(true);
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac MenuDemo.jav
C:\java\jdk1.8.0_202\bin>appletviewer MenuDemo.java
RESULT
The above program was executed and verified successfully.
10. MOUSE EVENT HANDLING
import java.awt.*;
import java.awt.event.*;
class MouseEventDemo extends Frame implements MouseListener
{
String msg="";
MouseEventDemo()
{
addMouseListener(this);
setSize(300,200);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void mouseClicked(MouseEvent e)
{
msg = "Mouse Clicked";
repaint();
}
public void mousePressed(MouseEvent e)
{
msg = "Mouse Pressed";
repaint();
}
public void mouseReleased(MouseEvent e)
{
msg = "Mouse Released";
repaint();
}
public void mouseEntered(MouseEvent e)
{
msg = "Mouse Entered";
repaint();
}
public void mouseExited(MouseEvent e)
{
msg = "Mouse Exited";
repaint();
}
public void paint(Graphics g)
{
Font largeFont=new Font(“Arial”, Font.BOLD, 24);
g.setFont(largeFont);
g.drawString(msg,50,50);
}
public static void main(String[]args)
{
new MouseEventDemo();
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac MouseEventDemo.java
C:\java\jdk1.8.0_202\bin>java MouseEventDemo
RESULT
The above program was executed and verified successfully.
11. SHAPES ON MOUSE CLICK POSITIONS
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*<applet code="DrawShapes.class" width=800 height=500></applet>*/
public class DrawShapes extends Applet implements MouseListener
{
int x = -1, y = -1;
CheckboxGroup group = new CheckboxGroup();
Checkbox circle = new Checkbox("Circle", group, true),
ellipse = new Checkbox("Ellipse", group, false),
square = new Checkbox("Square", group, false),
rectangle = new Checkbox("Rectangle", group, false);
public void init()
{
add(new Label("Select Shape to Draw:", Label.CENTER));
add(circle);
add(ellipse);
add(square);
add(rectangle);
addMouseListener(this);
}
public void mouseClicked(MouseEvent e)
{
x = e.getX();
y = e.getY();
repaint();
}
public void paint(Graphics g)
{
if (x == -1) return;
int s = 100;
if (circle.getState())
g.drawOval(x - s/2, y - s/2, s, s);
else if (ellipse.getState())
g.drawOval(x - s, y - s/2, 2*s, s);
else if (square.getState())
g.drawRect(x - s/2, y - s/2, s, s);
else if (rectangle.getState())
g.drawRect(x - s, y - s/2, 2*s, s);
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
}
OUTPUT
RESULT
The above program was executed and verified successfully.
12. FILE APPEND OPERATION
import java.io.*;
class TextFile
{
public static void main(String[] args) throws Exception
{
byte[] input = new byte[50];
System.out.println("Enter the text to append:");
int len = System.in.read(input);
String newText = new String(input, 0, len);
try (OutputStream t = new FileOutputStream("file.txt", true))
{
t.write(input, 0, len);
}
System.out.println("\nNewly appended text:");
System.out.print(newText);
System.out.println("\nFull file content after append:");
try (BufferedReader br = new BufferedReader(new FileReader("file.txt")))
{
String line;
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
}
}
}
OUTPUT
C:\java\jdk1.8.0_202\bin>javac TextFile.java
C:\java\jdk1.8.0_202\bin>java TextFile
Enter the text to append:
Vijay
Newly appended text:
Vijay
Full file content after append:
Vijay
C:\java\jdk1.8.0_202\bin>java TextFile
Enter the text to append:
Ajith
Newly appended text:
Ajith
Full file content after append:
Vijay
Ajith
C:\java\jdk1.8.0_202\bin>type file.txt
Vijay
Ajith
RESULT
The above program was executed and verified successfully.