Java Programming Lab-Sheet-5 Solutions
Java Programming Lab-Sheet-5 Solutions
17. Power calculation without Math class
java
Copy
Download
import java.util.Scanner;
class PowerCalculator {
private int x;
private int n;
public PowerCalculator(int x, int n) {
this.x = x;
this.n = n;
}
public long calculate() {
long result = 1;
for(int i = 0; i < n; i++) {
result *= x;
}
return result;
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter base (x): ");
int x = sc.nextInt();
System.out.print("Enter exponent (n): ");
int n = sc.nextInt();
PowerCalculator pc = new PowerCalculator(x, n);
System.out.println(x + "^" + n + " = " + pc.calculate());
}
}Output:
Copy
Download
Enter base (x): 5
Enter exponent (n): 3
5^3 = 12518. Generate prime numbers from 1 to 100
java
Copy
Download
class PrimeGenerator {
public void generatePrimes() {
System.out.println("Prime numbers between 1 and 100:");
for(int i = 2; i <= 100; i++) {
if(isPrime(i)) {
System.out.print(i + " ");
}
}
}
private boolean isPrime(int num) {
if(num <= 1) return false;
for(int i = 2; i <= Math.sqrt(num); i++) {
if(num % i == 0) return false;
}
return true;
}
}
public class Main {
public static void main(String[] args) {
PrimeGenerator pg = new PrimeGenerator();
pg.generatePrimes();
}
}Output:
Copy
Download
Prime numbers between 1 and 100:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 19. Function overloading illustration
java
Copy
Download
class Calculator {
// Method to add two integers
public int add(int a, int b) {
return a + b;
}
// Overloaded method to add three integers
public int add(int a, int b, int c) {
return a + b + c;
}
// Overloaded method to add two doubles
public double add(double a, double b) {
return a + b;
}
// Overloaded method to concatenate two strings
public String add(String a, String b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Sum of 5 and 10: " + calc.add(5, 10));
System.out.println("Sum of 5, 10 and 15: " + calc.add(5, 10, 15));
System.out.println("Sum of 5.5 and 10.5: " + calc.add(5.5, 10.5));
System.out.println("Concatenation of 'Hello' and 'World': " + calc.add("Hello", "World"));
}
}Output:
Copy
Download
Sum of 5 and 10: 15
Sum of 5, 10 and 15: 30
Sum of 5.5 and 10.5: 16.0
Concatenation of 'Hello' and 'World': HelloWorld20. Abstract class illustration
java
Copy
Download
abstract class Shape {
protected String color;
public Shape(String color) {
this.color = color;
}
// Abstract method (must be implemented by subclasses)
public abstract double area();
// Concrete method
public String getColor() {
return color;
}
}
class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(String color, double length, double width) {
super(color);
this.length = length;
this.width = width;
}
@Override
public double area() {
return length * width;
}
}
public class Main {
public static void main(String[] args) {
Shape circle = new Circle("Red", 5.0);
Shape rectangle = new Rectangle("Blue", 4.0, 6.0);
System.out.println("Circle color: " + circle.getColor() + ", Area: " + circle.area());
System.out.println("Rectangle color: " + rectangle.getColor() + ", Area: " + rectangle.area());
}
}Output:
Copy
Download
Circle color: Red, Area: 78.53981633974483
Rectangle color: Blue, Area: 24.021. Constructor implementation
java
Copy
Download
class Student {
private String name;
private int rollNo;
private int age;
// Default constructor
public Student() {
this.name = "Unknown";
this.rollNo = 0;
this.age = 0;
}
// Parameterized constructor
public Student(String name, int rollNo) {
this.name = name;
this.rollNo = rollNo;
this.age = 18; // Default age
}
// Parameterized constructor with all fields
public Student(String name, int rollNo, int age) {
this.name = name;
this.rollNo = rollNo;
this.age = age;
}
// Copy constructor
public Student(Student other) {
this.name = other.name;
this.rollNo = other.rollNo;
this.age = other.age;
}
public void display() {
System.out.println("Name: " + name + ", Roll No: " + rollNo + ", Age: " + age);
}
}
public class Main {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student("Alice", 101);
Student s3 = new Student("Bob", 102, 20);
Student s4 = new Student(s3);
s1.display();
s2.display();
s3.display();
s4.display();
}
}Output:
Copy
Download
Name: Unknown, Roll No: 0, Age: 0
Name: Alice, Roll No: 101, Age: 18
Name: Bob, Roll No: 102, Age: 20
Name: Bob, Roll No: 102, Age: 2022. Polymorphism (static and dynamic binding)
java
Copy
Download
class Animal {
// Static binding (method is private, final or static)
private void eatPrivate() {
System.out.println("Animal is eating (private)");
}
public final void eatFinal() {
System.out.println("Animal is eating (final)");
}
public static void eatStatic() {
System.out.println("Animal is eating (static)");
}
// Dynamic binding (method can be overridden)
public void eat() {
System.out.println("Animal is eating");
}
public void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
// Cannot override private method
// Cannot override final method
// This is method hiding, not overriding
public static void eatStatic() {
System.out.println("Dog is eating (static)");
}
@Override
public void eat() {
System.out.println("Dog is eating");
}
@Override
public void sound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
// Static binding examples
Animal.eatStatic(); // Calls Animal's static method
Dog.eatStatic(); // Calls Dog's static method
Animal animal = new Animal();
animal.eatFinal(); // Calls Animal's final method
// Dynamic binding examples
Animal myAnimal = new Dog(); // Upcasting
myAnimal.eat(); // Calls Dog's eat() at runtime
myAnimal.sound(); // Calls Dog's sound() at runtime
// Compile-time error (private method not visible)
// myAnimal.eatPrivate();
}
}Output:
Copy
Download
Animal is eating (static)
Dog is eating (static)
Animal is eating (final)
Dog is eating
Dog barks23. Static method implementation
java
Copy
Download
class MathOperations {
// Static method to calculate factorial
public static int factorial(int n) {
if(n == 0 || n == 1) return 1;
return n * factorial(n - 1);
}
// Static method to check if number is even
public static boolean isEven(int num) {
return num % 2 == 0;
}
// Instance method
public void displayMessage() {
System.out.println("This is an instance method");
}
}
public class Main {
public static void main(String[] args) {
// Calling static methods without creating an instance
System.out.println("Factorial of 5: " + MathOperations.factorial(5));
System.out.println("Is 10 even? " + MathOperations.isEven(10));
// Creating instance to call instance method
MathOperations math = new MathOperations();
math.displayMessage();
// Note: Calling instance method without instance is not possible
// MathOperations.displayMessage(); // Error
}
}Output:
Copy
Download
Factorial of 5: 120
Is 10 even? true
This is an instance method24. Nested class implementation
java
Copy
Download
class OuterClass {
private int outerVar = 10;
public static int staticOuterVar = 20;
// Instance nested class (inner class)
class InnerClass {
public void display() {
System.out.println("Inner class: outerVar = " + outerVar);
}
}
// Static nested class
static class StaticNestedClass {
public void display() {
System.out.println("Static nested class: staticOuterVar = " + staticOuterVar);
// Cannot access non-static outerVar here
// System.out.println(outerVar); // Error
}
}
// Method with local inner class
public void methodWithLocalClass() {
int localVar = 30;
class LocalClass {
public void display() {
System.out.println("Local class: outerVar = " + outerVar +
", localVar = " + localVar);
}
}
LocalClass lc = new LocalClass();
lc.display();
}
// Anonymous inner class example
public void anonymousClassExample() {
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("Anonymous class: outerVar = " + outerVar);
}
};
new Thread(r).start();
}
}
public class Main {
public static void main(String[] args) {
OuterClass outer = new OuterClass();
// Inner class example
OuterClass.InnerClass inner = outer.new InnerClass();
inner.display();
// Static nested class example
OuterClass.StaticNestedClass staticNested = new OuterClass.StaticNestedClass();
staticNested.display();
// Method with local class
outer.methodWithLocalClass();
// Anonymous inner class
outer.anonymousClassExample();
}
}Output:
Copy
Download
Inner class: outerVar = 10
Static nested class: staticOuterVar = 20
Local class: outerVar = 10, localVar = 30
Anonymous class: outerVar = 1025. Package creation and usage
Step 1: Create package (mypackage/MyUtility.java)
java
Copy
Download
package mypackage;
public class MyUtility {
public static int add(int a, int b) {
return a + b;
}
public static int multiply(int a, int b) {
return a * b;
}
}Step 2: Main program using the package (Main.java)
java
Copy
Download
import mypackage.MyUtility;
public class Main {
public static void main(String[] args) {
int sum = MyUtility.add(5, 7);
int product = MyUtility.multiply(5, 7);
System.out.println("Sum: " + sum);
System.out.println("Product: " + product);
}
}Output:
Copy
Download
Sum: 12
Product: 3526. Interface illustration
java
Copy
Download
interface Vehicle {
// Constant
String TYPE = "Transportation";
// Abstract methods
void start();
void stop();
// Default method (Java 8+)
default void honk() {
System.out.println("Vehicle is honking!");
}
// Static method (Java 8+)
static void displayType() {
System.out.println("Type: " + TYPE);
}
}
class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car is starting");
}
@Override
public void stop() {
System.out.println("Car is stopping");
}
// Overriding default method is optional
@Override
public void honk() {
System.out.println("Car is honking loudly!");
}
}
class Bike implements Vehicle {
@Override
public void start() {
System.out.println("Bike is starting");
}
@Override
public void stop() {
System.out.println("Bike is stopping");
}
}
public class Main {
public static void main(String[] args) {
Vehicle.displayType(); // Calling static method
Vehicle car = new Car();
car.start();
car.honk();
car.stop();
Vehicle bike = new Bike();
bike.start();
bike.honk(); // Uses default implementation
bike.stop();
}
}Output:
Copy
Download
Type: Transportation
Car is starting
Car is honking loudly!
Car is stopping
Bike is starting
Vehicle is honking!
Bike is stopping27. Extending interface into another interface
java
Copy
Download
interface Animal {
void eat();
void sleep();
}
interface Pet extends Animal {
void play();
void beFriendly();
}
class Dog implements Pet {
@Override
public void eat() {
System.out.println("Dog is eating");
}
@Override
public void sleep() {
System.out.println("Dog is sleeping");
}
@Override
public void play() {
System.out.println("Dog is playing fetch");
}
@Override
public void beFriendly() {
System.out.println("Dog is wagging its tail");
}
}
public class Main {
public static void main(String[] args) {
Pet myPet = new Dog();
myPet.eat();
myPet.sleep();
myPet.play();
myPet.beFriendly();
}
}Output:
Copy
Download
Dog is eating
Dog is sleeping
Dog is playing fetch
Dog is wagging its tail28. Multiple inheritance using interface
java
Copy
Download
interface Flyable {
void fly();
}
interface Swimmable {
void swim();
}
// Multiple inheritance through interfaces
class Duck implements Flyable, Swimmable {
@Override
public void fly() {
System.out.println("Duck is flying");
}
@Override
public void swim() {
System.out.println("Duck is swimming");
}
public void quack() {
System.out.println("Duck is quacking");
}
}
public class Main {
public static void main(String[] args) {
Duck duck = new Duck();
duck.fly();
duck.swim();
duck.quack();
// Polymorphism examples
Flyable flyingObject = duck;
flyingObject.fly();
Swimmable swimmingObject = duck;
swimmingObject.swim();
}
}Output:
Copy
Download
Duck is flying
Duck is swimming
Duck is quacking
Duck is flying
Duck is swimming29. Dynamic dispatch implementation
class Shape {
public void draw() {
System.out.println("Drawing a shape");
}
public void calculateArea() {
System.out.println("Calculating shape area");
}
}
class Circle extends Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
@Override
public void calculateArea() {
System.out.println("Calculating circle area: πr²");
}
}
class Square extends Shape {
@Override
public void draw() {
System.out.println("Drawing a square");
}
@Override
public void calculateArea() {
System.out.println("Calculating square area: side²");
}
}
public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle(); // Upcasting
Shape shape2 = new Square(); // Upcasting
// Dynamic dispatch - method called depends on actual object type
shape1.draw();
shape1.calculateArea();
shape2.draw();
shape2.calculateArea();
// Array of shapes demonstrating polymorphism
Shape[] shapes = {new Shape(), new Circle(), new Square()};
for(Shape shape : shapes) {
shape.draw(); // Dynamic method dispatch
System.out.println("---");
}
}
}Output:
Drawing a circle
Calculating circle area: πr²
Drawing a square
Calculating square area: side²
Drawing a shape
---
Drawing a circle
---
Drawing a square
---30. Illustration of super and this keywords
java
class Parent {
protected String name;
public Parent(String name) {
this.name = name;
}
public void display() {
System.out.println("Parent name: " + name);
}
}
class Child extends Parent {
private String name;
public Child(String parentName, String childName) {
super(parentName); // Using super to call parent constructor
this.name = childName; // Using this to refer to current instance
}
@Override
public void display() {
super.display(); // Using super to call parent method
System.out.println("Child name: " + this.name);
}
public void showNames() {
System.out.println("Parent's name: " + super.name); // Access parent field
System.out.println("Child's name: " + this.name); // Access current field
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child("John", "Alice");
child.display();
System.out.println("---");
child.showNames();
}
}Output:
Parent name: John
Child name: Alice
---
Parent's name: John
Child's name: Alice31. Student Class with Computer Science and Mathematics Subclasses
java
Copy
Download
class Student {
String name;
int rollNumber;
int[] marks;
public Student(String name, int rollNumber, int[] marks) {
this.name = name;
this.rollNumber = rollNumber;
this.marks = marks;
}
public double calculateAverage() {
int sum = 0;
for (int mark : marks) {
sum += mark;
}
return (double) sum / marks.length;
}
public void displayDetails() {
System.out.println("Name: " + name);
System.out.println("Roll Number: " + rollNumber);
System.out.println("Average Marks: " + calculateAverage());
}
}
class ComputerScienceStudent extends Student {
String programmingLanguage;
String database;
public ComputerScienceStudent(String name, int rollNumber, int[] marks,
String programmingLanguage, String database) {
super(name, rollNumber, marks);
this.programmingLanguage = programmingLanguage;
this.database = database;
}
@Override
public void displayDetails() {
super.displayDetails();
System.out.println("Programming Language: " + programmingLanguage);
System.out.println("Database: " + database);
}
}
class MathematicsStudent extends Student {
String algebra;
String calculus;
public MathematicsStudent(String name, int rollNumber, int[] marks,
String algebra, String calculus) {
super(name, rollNumber, marks);
this.algebra = algebra;
this.calculus = calculus;
}
@Override
public void displayDetails() {
super.displayDetails();
System.out.println("Algebra: " + algebra);
System.out.println("Calculus: " + calculus);
}
}
public class StudentDemo {
public static void main(String[] args) {
int[] csMarks = {85, 90, 78, 92, 88};
ComputerScienceStudent csStudent = new ComputerScienceStudent("John Doe", 101, csMarks,
"Java", "MySQL");
int[] mathMarks = {92, 88, 95, 90, 87};
MathematicsStudent mathStudent = new MathematicsStudent("Jane Smith", 102, mathMarks,
"Linear Algebra", "Differential Calculus");
System.out.println("Computer Science Student Details:");
csStudent.displayDetails();
System.out.println("\nMathematics Student Details:");
mathStudent.displayDetails();
}
}Output:
Copy
Download
Computer Science Student Details:
Name: John Doe
Roll Number: 101
Average Marks: 86.6
Programming Language: Java
Database: MySQL
Mathematics Student Details:
Name: Jane Smith
Roll Number: 102
Average Marks: 90.4
Algebra: Linear Algebra
Calculus: Differential Calculus32. Employee, Manager, and Executive Classes
java
Copy
Download
class Employee {
String name;
double salary;
public Employee(String name, double salary) {
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
return "Name: " + name + ", Salary: $" + salary;
}
}
class Manager extends Employee {
String department;
public Manager(String name, double salary, String department) {
super(name, salary);
this.department = department;
}
@Override
public String toString() {
return super.toString() + ", Department: " + department;
}
}
class Executive extends Manager {
public Executive(String name, double salary, String department) {
super(name, salary, department);
}
@Override
public String toString() {
return "Executive - " + super.toString();
}
}
public class EmployeeDemo {
public static void main(String[] args) {
Manager manager = new Manager("Sarah Johnson", 85000, "Marketing");
Executive executive = new Executive("Michael Brown", 120000, "Operations");
System.out.println(manager);
System.out.println(executive);
}
}Output:
Copy
Download
Name: Sarah Johnson, Salary: $85000.0, Department: Marketing
Executive - Name: Michael Brown, Salary: $120000.0, Department: Operations33. Bank Account Inheritance
java
Copy
Download
class BankAccount {
String accountNumber;
double totalBalance;
public BankAccount(String accountNumber, double totalBalance) {
this.accountNumber = accountNumber;
this.totalBalance = totalBalance;
}
public void deposit(double amount) {
totalBalance += amount;
}
public void withdraw(double amount) {
if (amount <= totalBalance) {
totalBalance -= amount;
} else {
System.out.println("Insufficient balance");
}
}
public double getBalance() {
return totalBalance;
}
}
class SavingAccount extends BankAccount {
double interestRate;
public SavingAccount(String accountNumber, double totalBalance, double interestRate) {
super(accountNumber, totalBalance);
this.interestRate = interestRate;
}
public void addInterest() {
double interest = totalBalance * interestRate / 100;
deposit(interest);
}
}
public class BankDemo {
public static void main(String[] args) {
SavingAccount sa = new SavingAccount("SA12345", 5000, 3.5);
System.out.println("Initial Balance: $" + sa.getBalance());
sa.deposit(1000);
System.out.println("After deposit: $" + sa.getBalance());
sa.withdraw(500);
System.out.println("After withdrawal: $" + sa.getBalance());
sa.addInterest();
System.out.println("After adding interest: $" + sa.getBalance());
}
}Output:
Copy
Download
Initial Balance: $5000.0
After deposit: $6000.0
After withdrawal: $5500.0
After adding interest: $5692.534. Member, Employee, and Manager Classes
java
Copy
Download
class Member {
String name;
int age;
String phone;
String address;
double salary;
public void setMemberDetails(String name, int age, String phone,
String address, double salary) {
this.name = name;
this.age = age;
this.phone = phone;
this.address = address;
this.salary = salary;
}
public void printMemberDetails() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Phone: " + phone);
System.out.println("Address: " + address);
System.out.println("Salary: $" + salary);
}
}
class Employee extends Member {
String specialization;
public void printSpecialization() {
System.out.println("Specialization: " + specialization);
}
}
class Manager extends Member {
String department;
public void setDepartment(String department) {
this.department = department;
}
public void printDepartment() {
System.out.println("Department: " + department);
}
}
public class MemberDemo {
public static void main(String[] args) {
Employee emp = new Employee();
emp.setMemberDetails("Alice Johnson", 28, "555-1234", "123 Main St", 60000);
emp.specialization = "Software Development";
Manager mgr = new Manager();
mgr.setMemberDetails("Bob Smith", 45, "555-5678", "456 Oak Ave", 90000);
mgr.setDepartment("IT");
System.out.println("Employee Details:");
emp.printMemberDetails();
emp.printSpecialization();
System.out.println("\nManager Details:");
mgr.printMemberDetails();
mgr.printDepartment();
}
}Output:
Copy
Download
Employee Details:
Name: Alice Johnson
Age: 28
Phone: 555-1234
Address: 123 Main St
Salary: $60000.0
Specialization: Software Development
Manager Details:
Name: Bob Smith
Age: 45
Phone: 555-5678
Address: 456 Oak Ave
Salary: $90000.0
Department: IT35. Abstract Fmachine and Airplane Classes
java
Copy
Download
abstract class Fmachine {
abstract void getdata();
abstract void putdata();
}
class Airplane extends Fmachine {
String code;
String name;
int capacity;
@Override
void getdata() {
code = "A123";
name = "Boeing 747";
capacity = 416;
}
@Override
void putdata() {
System.out.println("Airplane Code: " + code);
System.out.println("Airplane Name: " + name);
System.out.println("Passenger Capacity: " + capacity);
}
}
public class AirplaneDemo {
public static void main(String[] args) {
Airplane plane1 = new Airplane();
plane1.getdata();
plane1.putdata();
Airplane plane2 = new Airplane();
plane2.code = "B456";
plane2.name = "Airbus A380";
plane2.capacity = 853;
plane2.putdata();
}
}Output:
Copy
Download
Airplane Code: A123
Airplane Name: Boeing 747
Passenger Capacity: 416
Airplane Code: B456
Airplane Name: Airbus A380
Passenger Capacity: 85336. Rectangle Class with Area Calculation
java
Copy
Download
class Rectangle {
double length;
double breadth;
public Rectangle(double length, double breadth) {
this.length = length;
this.breadth = breadth;
}
public double computeArea() {
return length * breadth;
}
public void displayArea() {
System.out.println("Rectangle Area: " + computeArea());
}
}
public class RectangleDemo {
public static void main(String[] args) {
Rectangle rect1 = new Rectangle(5, 10);
Rectangle rect2 = new Rectangle(7, 3);
rect1.displayArea();
rect2.displayArea();
if (rect1.computeArea() > rect2.computeArea()) {
System.out.println("First rectangle has larger area");
} else if (rect2.computeArea() > rect1.computeArea()) {
System.out.println("Second rectangle has larger area");
} else {
System.out.println("Both rectangles have equal area");
}
}
}Output:
Copy
Download
Rectangle Area: 50.0
Rectangle Area: 21.0
First rectangle has larger area37. Interface num with Implementation
java
Copy
Download
interface Num {
int add(int x, int y);
int diff(int x, int y);
}
class Calculator implements Num {
@Override
public int add(int x, int y) {
return x + y;
}
@Override
public int diff(int x, int y) {
return x - y;
}
}
public class NumDemo {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Addition: " + calc.add(10, 5));
System.out.println("Difference: " + calc.diff(10, 5));
}
}Output:
Copy
Download
Addition: 15
Difference: 538. Interface calculate with Implementation
java
Copy
Download
interface Calculate {
int add(int x, int y);
int subtract(int x, int y);
}
class Arithmetic implements Calculate {
@Override
public int add(int x, int y) {
return x + y;
}
@Override
public int subtract(int x, int y) {
return x - y;
}
}
public class CalculateDemo {
public static void main(String[] args) {
Arithmetic arith = new Arithmetic();
System.out.println("10 + 5 = " + arith.add(10, 5));
System.out.println("10 - 5 = " + arith.subtract(10, 5));
}
}Output:
Copy
Download
10 + 5 = 15
10 - 5 = 539. Student, Test, and Result Classes
java
Copy
Download
class Student {
int rollNo;
public void readRollNo(int rollNo) {
this.rollNo = rollNo;
}
public void displayRollNo() {
System.out.println("Roll No: " + rollNo);
}
}
class Test extends Student {
int marks1;
int marks2;
public void readMarks(int m1, int m2) {
marks1 = m1;
marks2 = m2;
}
public void displayMarks() {
System.out.println("Marks in Subject 1: " + marks1);
System.out.println("Marks in Subject 2: " + marks2);
}
}
class Result extends Test {
int total;
public void calculateTotal() {
total = marks1 + marks2;
}
public void displayTotal() {
System.out.println("Total Marks: " + total);
}
}
public class ResultDemo {
public static void main(String[] args) {
Result student1 = new Result();
student1.readRollNo(101);
student1.readMarks(85, 90);
student1.calculateTotal();
student1.displayRollNo();
student1.displayMarks();
student1.displayTotal();
}
}Output:
Copy
Download
Roll No: 101
Marks in Subject 1: 85
Marks in Subject 2: 90
Total Marks: 17540. Shape Interface with Rectangle and Square
java
Copy
Download
interface Shape {
void getData();
void displayArea();
}
class Rectangle implements Shape {
double length;
double width;
@Override
public void getData() {
length = 5;
width = 3;
}
@Override
public void displayArea() {
System.out.println("Rectangle Area: " + (length * width));
}
}
class Square implements Shape {
double side;
@Override
public void getData() {
side = 4;
}
@Override
public void displayArea() {
System.out.println("Square Area: " + (side * side));
}
}
public class ShapeDemo {
public static void main(String[] args) {
Rectangle rect = new Rectangle();
Square sq = new Square();
rect.getData();
sq.getData();
rect.displayArea();
sq.displayArea();
}
}Output:
Copy
Download
Rectangle Area: 15.0
Square Area: 16.041. Number Class with getMax() Method
java
Copy
Download
class Number {
int x, y, z;
public Number(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
public int getMax() {
return Math.max(Math.max(x, y), z);
}
}
public class NumberDemo {
public static void main(String[] args) {
Number num = new Number(10, 25, 15);
System.out.println("The largest number is: " + num.getMax());
}
}Output:
Copy
Download
The largest number is: 2542. Box and BoxWeight Classes
java
Copy
Download
class Box {
double length;
double breadth;
double height;
public Box(double length, double breadth, double height) {
this.length = length;
this.breadth = breadth;
this.height = height;
}
public double getVolume() {
return length * breadth * height;
}
}
class BoxWeight extends Box {
double weight;
public BoxWeight(double length, double breadth, double height, double weight) {
super(length, breadth, height);
this.weight = weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public double getWeight() {
return weight;
}
}
public class BoxDemo {
public static void main(String[] args) {
BoxWeight box1 = new BoxWeight(2, 3, 4, 5);
BoxWeight box2 = new BoxWeight(1, 2, 3, 4);
System.out.println("Box 1 Volume: " + box1.getVolume() + ", Weight: " + box1.getWeight());
System.out.println("Box 2 Volume: " + box2.getVolume() + ", Weight: " + box2.getWeight());
}
}Output:
Copy
Download
Box 1 Volume: 24.0, Weight: 5.0
Box 2 Volume: 6.0, Weight: 4.043. Zoo Animal Class Hierarchy
java
Copy
Download
class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Lion extends Animal {
public Lion(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("Roar!");
}
}
class Tiger extends Animal {
public Tiger(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("Growl!");
}
}
class Giraffe extends Animal {
public Giraffe(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("Bleat!");
}
}
class Zebra extends Animal {
public Zebra(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("Whinny!");
}
}
public class ZooDemo {
public static void main(String[] args) {
Animal[] animals = {
new Lion("Simba", 5),
new Tiger("Rajah", 4),
new Giraffe("Melman", 7),
new Zebra("Marty", 3)
};
for (Animal animal : animals) {
System.out.print(animal.name + " the " + animal.getClass().getSimpleName() + " says: ");
animal.makeSound();
}
}
}Output:
Copy
Download
Simba the Lion says: Roar!
Rajah the Tiger says: Growl!
Melman the Giraffe says: Bleat!
Marty the Zebra says: Whinny!