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

Program 5,6,7

Java labprograms

Uploaded by

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

Program 5,6,7

Java labprograms

Uploaded by

madhukeshs605
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Program:5. Develop a JAVA program to create a class named shape.

Create three sub classes namely: circle, triangle


and square, each class has two member functions named draw () and erase (). Demonstrate polymorphism concepts by
developing suitable methods, defining member data and main program.

package lab.stack;

public abstract class Shape


{
private String name;

public Shape(String name)


{
this.name = name;
}

public String getName()


{
return name;
}

public abstract double calculateArea();


public abstract double calculatePerimeter();

public void draw() {


System.out.println("Drawing " + name);
}

public void erase() {


System.out.println("Erasing " + name);
}
}

class Circle extends Shape {


private double radius;

public Circle(String name, double radius)


{
super(name);
this.radius = radius;
}

@Override
public double calculateArea()
{
return Math.PI * radius * radius;
}

@Override
public double calculatePerimeter()
{
return 2 * Math.PI * radius;
}

@Override
public void draw() {
System.out.println("Drawing Circle with name: " + getName() + " and radius: " +
radius);
}

@Override
public void erase() {
System.out.println("Erasing Circle with name: " + getName() + " and radius: " +
radius);
}
}

class Triangle extends Shape


{
private double sideA;
private double sideB;
private double sideC;

public Triangle(String name, double sideA, double sideB, double sideC)


{
super(name);
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}

@Override
public double calculateArea() {
double semiperimeter = (sideA + sideB + sideC) / 2;
return Math.sqrt(semiperimeter * (semiperimeter - sideA) * (semiperimeter - sideB) *
(semiperimeter - sideC));
}

@Override
public double calculatePerimeter() {
return sideA + sideB + sideC;
}

@Override
public void draw() {
System.out.println("Drawing Triangle with name: " + getName() + ", sides: " + sideA +
", " + sideB + ", " + sideC);
}

@Override
public void erase()
{
System.out.println("Erasing Triangle with name: " + getName() + ", sides: " + sideA +
", " + sideB + ", " + sideC);
}
}

class Square extends Shape


{
private double side;

public Square(String name, double side)


{
super(name);
this.side = side;
}

@Override
public double calculateArea() {
return side * side;
}

@Override
public double calculatePerimeter()
{
return 4 * side;
}

@Override
public void draw() {
System.out.println("Drawing Square with name: " + getName() + " and side: " + side);
}

@Override
public void erase()
{
System.out.println("Erasing Square with name: " + getName() + " and side: " + side);
}
}

class Shape_main
{
public static void main(String[] args)
{
Shape circle = new Circle("Circle", 3.0);
circle.draw();
System.out.println("Area of circle: " + circle.calculateArea());
System.out.println("Perimeter of circle: " + circle.calculatePerimeter());
circle.erase();

Shape triangle = new Triangle("Triangle", 3.0, 4.0, 5.0);


triangle.draw();
System.out.println("Area of triangle: " + triangle.calculateArea());
System.out.println("Perimeter of triangle: " + triangle.calculatePerimeter());
triangle.erase();

Shape square = new Square("Square", 5.0);


square.draw();
System.out.println("Area of square: " + square.calculateArea());
System.out.println("Perimeter of square: " + square.calculatePerimeter());
square.erase();
}
}

Output:

Drawing Circle with name: Circle and radius: 3.0


Area of circle: 28.274333882308138
Perimeter of circle: 18.84955592153876
Erasing Circle with name: Circle and radius: 3.0
Drawing Triangle with name: Triangle, sides: 3.0, 4.0, 5.0
Area of triangle: 6.0
Perimeter of triangle: 12.0
Erasing Triangle with name: Triangle, sides: 3.0, 4.0, 5.0
Drawing Square with name: Square and side: 5.0
Area of square: 25.0
Perimeter of square: 20.0
Erasing Square with name: Square and side: 5.0
Program: 6 Develop a JAVA program to create an abstract class Shape with abstract methods calculateArea() and
calculatePerimeter(). Create subclasses Circle and Triangle that extend the Shape class and implement the respective
methods to calculate the area and perimeter of each shape. Aim: Demonstrate constructor and method overloading in
java programming.

package lab.stack;

import java.util.Scanner;

public abstract class Shape1


{
private String name;

public Shape1(String name)


{
this.name = name;
}

public String getName()


{
return name;
}

public abstract double calculateArea();

public abstract double calculatePerimeter();

public static void main(String[] args)


{
double i, j, k, l;
System.out.println("Enter Radius of circle:");
Scanner sc = new Scanner(System.in);
i = sc.nextDouble();
Circles circle = new Circles("Circle", i);
System.out.println("Area of circle: " + circle.calculateArea());
System.out.println("Perimeter of circle: " + circle.calculatePerimeter());
System.out.println("Enter sides of Triangle j, k, l:");
j = sc.nextDouble();
k = sc.nextDouble();
l = sc.nextDouble();
Triangle triangle = new Triangle("Triangle", j, k, l);
System.out.println("Area of triangle: " + triangle.calculateArea());
System.out.println("Perimeter of Triangle: " + triangle.calculatePerimeter());
}
}

class Circles extends Shape1


{
private double i; // radius is declared as variable i

public Circles(String name, double i)


{
super(name);
this.i = i;
}

@Override
public double calculateArea()
{
return Math.PI * i * i;
}
@Override
public double calculatePerimeter()
{
return 2 * Math.PI * i;
}

class Triangle extends Shape1


{
private double sideA;
private double sideB;
private double sideC;

public Triangle(String name, double sideA, double sideB, double sideC)


{
super(name);
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}

@Override
public double calculateArea()
{
double semiperimeter = (sideA + sideB + sideC) / 2;
return Math.sqrt(semiperimeter * (semiperimeter - sideA) * (semiperimeter - sideB)
* (semiperimeter - sideC));
}

@Override
public double calculatePerimeter()
{
return sideA + sideB + sideC;
}
}
}

Output:

Enter Radius of circle:

Area of circle: 78.53981633974483

Perimeter of circle: 31.41592653589793

Enter sides of Triangle j, k, l:

3 4 5

Area of triangle: 6.0

Perimeter of Triangle: 12.0


Program:7 Develop a JAVA program to create an interface Resizable with methods resizeWidth(int width) and resizeHeight(int
height) that allow an object to be resized. Create a class Rectangle that implements the Resizable interface and implements the
resize methods. Aim: Demonstrate the use of packages in java programming

package lab.stack;

public interface Resizable


{
void resizeWidth(int width);

void resizeHeight(int height);


}

class Rectangle implements Resizable


{
private int width;
private int height;

public Rectangle(int width, int height)


{
this.width = width;
this.height = height;
}

@Override
public void resizeWidth(int width)
{
this.width = width;
}

@Override
public void resizeHeight(int height)
{
this.height = height;
}

public int getWidth()


{
return width;
}

public int getHeight()


{
return height;
}
}

class Resizable_main
{
public static void main(String[] args)
{
Rectangle rectangle = new Rectangle(10, 20);
System.out.println("Original width: " + rectangle.getWidth());
System.out.println("Original height: " + rectangle.getHeight());
rectangle.resizeWidth(30);
rectangle.resizeHeight(40);
System.out.println("New width: " + rectangle.getWidth());
System.out.println("New height: " + rectangle.getHeight());
}
}
Output:

Original width: 10

Original height: 20

New width: 30

New height: 40

You might also like