0% found this document useful (0 votes)
3 views13 pages

Java Programs for Assignment 06 Solutions

Uploaded by

omkar K
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)
3 views13 pages

Java Programs for Assignment 06 Solutions

Uploaded by

omkar K
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

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

You might also like