Assignment No.
06 — Solutions (All 8 Programs)
Source PDF: /mnt/data/Assignment No-06- [Link] (uploaded by user)
Notes
• All programs are provided in raw copy-paste Java files named [Link] through
[Link] .
• Each program includes a main method and uses Scanner for console input where required.
• Save each code block into a .java file with the filename shown above, compile with javac , and
run with java .
Program-01
Topic: Abstract class Employee ; subclasses Manager and Worker .
Filename: [Link]
import [Link];
abstract class Employee {
abstract void accept(Scanner sc);
abstract void display();
}
class Manager extends Employee {
private int mid;
private String mname;
private String phno;
public Manager() {}
public Manager(int mid, String mname, String phno) {
[Link] = mid;
[Link] = mname;
[Link] = phno;
}
@Override
void accept(Scanner sc) {
[Link]("Enter manager id: ");
1
mid = [Link]([Link]());
[Link]("Enter manager name: ");
mname = [Link]();
[Link]("Enter manager phone: ");
phno = [Link]();
}
@Override
void display() {
[Link]("Manager Details:");
[Link]("ID: " + mid);
[Link]("Name: " + mname);
[Link]("Phone: " + phno);
}
}
class Worker extends Employee {
private String wname;
private int workingHours;
public Worker() {}
public Worker(String wname, int workingHours) {
[Link] = wname;
[Link] = workingHours;
}
@Override
void accept(Scanner sc) {
[Link]("Enter worker name: ");
wname = [Link]();
[Link]("Enter working hours: ");
workingHours = [Link]([Link]());
}
@Override
void display() {
[Link]("Worker Details:");
[Link]("Name: " + wname);
[Link]("Working Hours: " + workingHours);
}
}
public class Program01 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
Manager m = new Manager();
2
[Link]("--- Enter Manager Details ---");
[Link](sc);
Worker w = new Worker();
[Link]("--- Enter Worker Details ---");
[Link](sc);
[Link]();
[Link]();
[Link]();
[Link]();
[Link]();
}
}
Program-02
Topic: Abstract class Order with subclasses PurchaseOrder and SalesOrder .
Filename: [Link]
import [Link];
abstract class Order {
protected int id;
protected String description;
abstract void accept(Scanner sc);
abstract void display();
}
class PurchaseOrder extends Order {
private String customerName;
@Override
void accept(Scanner sc) {
[Link]("Enter PurchaseOrder id: ");
id = [Link]([Link]());
[Link]("Enter description: ");
description = [Link]();
[Link]("Enter customer name: ");
customerName = [Link]();
}
3
@Override
void display() {
[Link]("PurchaseOrder -> ID: " + id + ", Desc: " +
description + ", Customer: " + customerName);
}
}
class SalesOrder extends Order {
private String vendorName;
@Override
void accept(Scanner sc) {
[Link]("Enter SalesOrder id: ");
id = [Link]([Link]());
[Link]("Enter description: ");
description = [Link]();
[Link]("Enter vendor name: ");
vendorName = [Link]();
}
@Override
void display() {
[Link]("SalesOrder -> ID: " + id + ", Desc: " + description
+ ", Vendor: " + vendorName);
}
}
public class Program02 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("--- Create 5 PurchaseOrder objects ---");
PurchaseOrder[] pOrders = new PurchaseOrder[5];
for (int i = 0; i < 5; i++) {
[Link]("PurchaseOrder #" + (i+1));
pOrders[i] = new PurchaseOrder();
pOrders[i].accept(sc);
}
[Link]("--- Create 5 SalesOrder objects ---");
SalesOrder[] sOrders = new SalesOrder[5];
for (int i = 0; i < 5; i++) {
[Link]("SalesOrder #" + (i+1));
sOrders[i] = new SalesOrder();
sOrders[i].accept(sc);
}
4
[Link]();
[Link]("--- Displaying PurchaseOrders ---");
for (PurchaseOrder p : pOrders) [Link]();
[Link]("--- Displaying SalesOrders ---");
for (SalesOrder s : sOrders) [Link]();
[Link]();
}
}
Program-03
Topic: Read console lines until "good bye" and display lines containing India or Hello .
Filename: [Link]
import [Link];
public class Program03 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter lines (type 'good bye' to stop):");
int count = 0;
while (true) {
String line = [Link]();
if ([Link]("good bye")) break;
if ([Link]("India") || [Link]("Hello")) {
[Link]("Matched: " + line);
count++;
}
}
[Link]("Number of lines where pattern found: " + count);
[Link]();
}
}
5
Program-04
Topic: Interface CalculateResult and Student implementation.
Filename: [Link]
import [Link];
interface CalculateResult {
int CalculateTotal();
double CalculatePercentage();
String CalculateGrade();
}
class Student implements CalculateResult {
private String name;
private int marks1, marks2, marks3;
public void accept(Scanner sc) {
[Link]("Enter student name: ");
name = [Link]();
[Link]("Enter marks for subject 1: ");
marks1 = [Link]([Link]());
[Link]("Enter marks for subject 2: ");
marks2 = [Link]([Link]());
[Link]("Enter marks for subject 3: ");
marks3 = [Link]([Link]());
}
@Override
public int CalculateTotal() {
return marks1 + marks2 + marks3;
}
@Override
public double CalculatePercentage() {
return (CalculateTotal() / 3.0);
}
@Override
public String CalculateGrade() {
double per = CalculatePercentage();
if (per >= 75) return "A";
else if (per >= 60) return "B";
else if (per >= 50) return "C";
else if (per >= 40) return "D";
6
else return "Fail";
}
public void display() {
[Link]("Student: " + name);
[Link]("Total: " + CalculateTotal());
[Link]("Percentage: %.2f\n", CalculatePercentage());
[Link]("Grade: " + CalculateGrade());
}
}
public class Program04 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
Student s = new Student();
[Link](sc);
[Link]();
[Link]();
[Link]();
}
}
Program-05
Topic: Employee with TemporaryEmployee and PermanentEmployee subclasses.
Filename: [Link]
import [Link];
class EmployeeBase {
protected String name;
public EmployeeBase() {}
public EmployeeBase(String name) { [Link] = name; }
public double calcsal() { return 0.0; }
public void display() {
[Link]("Name: " + name + ", Salary: " + calcsal());
}
}
class TemporaryEmployee extends EmployeeBase {
7
private int hoursPerMonth;
private int overtimeHours;
private double hourlyRate; // rate per hour
public TemporaryEmployee(String name, int hoursPerMonth, int overtimeHours,
double hourlyRate) {
super(name);
[Link] = hoursPerMonth;
[Link] = overtimeHours;
[Link] = hourlyRate;
}
@Override
public double calcsal() {
double base = hoursPerMonth * hourlyRate;
double overtimePay = overtimeHours * hourlyRate * 1.5; // overtime paid
at 1.5x
return base + overtimePay;
}
}
class PermanentEmployee extends EmployeeBase {
private int daysPerMonth;
private double dailyRate;
public PermanentEmployee(String name, int daysPerMonth, double dailyRate) {
super(name);
[Link] = daysPerMonth;
[Link] = dailyRate;
}
@Override
public double calcsal() {
return daysPerMonth * dailyRate;
}
}
public class Program05 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Temporary Employee Input:");
[Link]("Name: ");
String tname = [Link]();
[Link]("Hours per month: ");
int hours = [Link]([Link]());
[Link]("Overtime hours: ");
int ot = [Link]([Link]());
8
[Link]("Hourly rate: ");
double hrate = [Link]([Link]());
TemporaryEmployee te = new TemporaryEmployee(tname, hours, ot, hrate);
[Link]("Permanent Employee Input:");
[Link]("Name: ");
String pname = [Link]();
[Link]("Days per month: ");
int days = [Link]([Link]());
[Link]("Daily rate: ");
double drate = [Link]([Link]());
PermanentEmployee pe = new PermanentEmployee(pname, days, drate);
[Link]();
[Link]("Temporary Employee Salary: ");
[Link]();
[Link]("Permanent Employee Salary: ");
[Link]();
[Link]();
}
}
Program-06
Topic: Voter class and accept/display details for 10 voters.
Filename: [Link]
import [Link];
class Voter {
private String voterName;
private String voterAddress;
private String voterContactNo;
private String voterAadhar;
public void accept(Scanner sc) {
[Link]("Enter voter name: ");
voterName = [Link]();
[Link]("Enter voter address: ");
voterAddress = [Link]();
9
[Link]("Enter voter contact no: ");
voterContactNo = [Link]();
[Link]("Enter voter Aadhar: ");
voterAadhar = [Link]();
}
public void display() {
[Link]("Voter Name: " + voterName);
[Link]("Address: " + voterAddress);
[Link]("Contact No: " + voterContactNo);
[Link]("Aadhar: " + voterAadhar);
[Link]("---------------------------");
}
}
public class Program06 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
Voter[] voters = new Voter[10];
for (int i = 0; i < 10; i++) {
[Link]("Enter details for voter #" + (i+1));
voters[i] = new Voter();
voters[i].accept(sc);
}
[Link]("--- Displaying Voter Details ---");
for (Voter v : voters) [Link]();
[Link]();
}
}
Program-07
Topic: Abstract Staff with Typist subclass.
Filename: [Link]
import [Link];
abstract class Staff {
protected int no;
protected String name;
10
public void Lint_Data(int no, String name) {
[Link] = no;
[Link] = name;
}
abstract double calculateSalary();
public void display() {
[Link]("No: " + no + ", Name: " + name + ", Salary: " +
calculateSalary());
}
}
class Typist extends Staff {
private int speed;
public Typist(int no, String name, int speed) {
Lint_Data(no, name);
[Link] = speed;
}
@Override
double calculateSalary() {
if (speed < 40) return 4000.0;
else return 5000.0;
}
}
public class Program07 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter typist no: ");
int no = [Link]([Link]());
[Link]("Enter typist name: ");
String name = [Link]();
[Link]("Enter speed: ");
int speed = [Link]([Link]());
Typist t = new Typist(no, name, speed);
[Link]();
[Link]();
}
}
11
Program-08
Topic: Passenger class; accept and display 10 passengers.
Filename: [Link]
import [Link];
class Passenger {
private String name;
private int age;
private String seatNo;
public void accept(Scanner sc) {
[Link]("Enter name: ");
name = [Link]();
[Link]("Enter age: ");
age = [Link]([Link]());
[Link]("Enter seat no: ");
seatNo = [Link]();
}
public void display() {
[Link]("Name: " + name + ", Age: " + age + ", Seat: " +
seatNo);
}
}
public class Program08 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
Passenger[] arr = new Passenger[10];
for (int i = 0; i < 10; i++) {
[Link]("Enter details for passenger #" + (i+1));
arr[i] = new Passenger();
arr[i].accept(sc);
}
[Link]("--- Passenger List ---");
for (Passenger p : arr) [Link]();
[Link]();
}
}
12
How I organized files
• [Link] — Manager & Worker
• [Link] — PurchaseOrder & SalesOrder
• [Link] — Pattern matching lines
• [Link] — Student + CalculateResult
• [Link] — Temporary & Permanent Employee
• [Link] — Voter array
• [Link] — Staff & Typist
• [Link] — Passenger array
If you want, I can: - Export this to a single downloadable .zip or .docx (I can create files in the canvas),
- Add short sample inputs/outputs for each program, - Convert all solutions into a single combined Java file
with separate classes.
Tell me which next step you want.
13