Exercise-1 Aim: Use Case Diagram For Librarian Scenario: Sheet No: Date
Exercise-1 Aim: Use Case Diagram For Librarian Scenario: Sheet No: Date
Date:
Exercise-1
Aim: Use case Diagram for Librarian Scenario
Sheet No:
Date:
Exercise-
Aim: Using UML design Abstract Factory Design Pattern
Source Code:
import java.io.*;
interface Bank{
String getBankName();
}
class HDFC implements Bank{
private final String BNAME;
public HDFC(){
BNAME="HDFC BANK";
}
public String getBankName() {
return BNAME;
}
}
class ICICI implements Bank{
private final String BNAME;
ICICI(){
BNAME="ICICI BANK";
}
public String getBankName() {
return BNAME;
}
}
class SBI implements Bank{
private final String BNAME;
public SBI(){
BNAME="SBI BANK";
}
public String getBankName(){
return BNAME;
}
}
abstract class Loan{
protected double rate;
abstract void getInterestRate(double rate);
public void calculateLoanPayment(double loanamount, int years)
{
/*
to calculate the monthly loan payment i.e. EMI
*/
double EMI;
int n;
n=years*12;
rate=rate/1200;
EMI=((rate*Math.pow((1+rate),n))/((Math.pow((1+rate),n))-1))*loanamount;
System.out.println("your monthly EMI is "+ EMI +" for the amount"+loanamount+" you have
borrowed");
}
}// end of the Loan abstract class.
class HomeLoan extends Loan{
public void getInterestRate(double r){
rate=r;
}
}//End of the HomeLoan class.
class BussinessLoan extends Loan{
public void getInterestRate(double r){
rate=r;
}
}
class FactoryCreator {
public static AbstractFactory getFactory(String choice){
if(choice.equalsIgnoreCase("Bank")){
return new BankFactory();
} else if(choice.equalsIgnoreCase("Loan")){
return new LoanFactory();
}
return null;
}
}//End of the FactoryCreator.
System.out.print("Enter the name of Bank from where you want to take loan amount: ");
String bankName=br.readLine();
System.out.print("\n");
System.out.print("Enter the type of loan e.g. home loan or business loan or education loan :
");
String loanName=br.readLine();
AbstractFactory bankFactory = FactoryCreator.getFactory("Bank");
Bank b=bankFactory.getBank(bankName);
System.out.print("\n");
System.out.print("Enter the interest rate for "+b.getBankName()+ ": ");
double rate=Double.parseDouble(br.readLine());
System.out.print("\n");
System.out.print("Enter the loan amount you want to take: ");
double loanAmount=Double.parseDouble(br.readLine());
System.out.print("\n");
System.out.print("Enter the number of years to pay your entire loan amount: ");
int years=Integer.parseInt(br.readLine());
System.out.print("\n");
System.out.println("you are taking the loan from "+ b.getBankName());
Output:
Sheet No:
Date:
Exercise-
Aim: Using UML design Builder Design Pattern
Source Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
interface Item
{
public String name();
public String size();
public float price();
}// End of the interface Item.
abstract class Pizza implements Item
{
public abstract float price();
}
abstract class ColdDrink implements Item
{
public abstract float price();
}
abstract class VegPizza extends Pizza
{
public abstract float price();
return 25.0f;
}
}// End of the SmallCoke class
class MediumCoke extends Coke
{
public String name()
{
return "500 ml Coke";
}
public String size()
{
return "Medium Size";
}
public float price()
{
return 35.0f;
}
}// End of the MediumCoke class
Output: