0% found this document useful (0 votes)
15 views53 pages

Gasc Java

The document is a laboratory record for the Programming Lab - Java course at Government Arts and Science College for the academic year 2025-2026. It includes a bonafide certificate, an index of practical exercises, and detailed code examples for various Java programming concepts such as string extraction, multiple inheritance, user-defined exceptions, multithreading, and GUI components. Each section includes code snippets, execution results, and confirmations of successful execution.

Uploaded by

Tamil Selvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views53 pages

Gasc Java

The document is a laboratory record for the Programming Lab - Java course at Government Arts and Science College for the academic year 2025-2026. It includes a bonafide certificate, an index of practical exercises, and detailed code examples for various Java programming concepts such as string extraction, multiple inheritance, user-defined exceptions, multithreading, and GUI components. Each section includes code snippets, execution results, and confirmations of successful execution.

Uploaded by

Tamil Selvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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.

You might also like