CAP680 11906059 Assignment 2
CAP680 11906059 Assignment 2
ASSIGNMENT-I
Set-Odd
Submitted by
ANUP KUMAR
Roll No: 37
Reg No. 11906059
Q1.: All the banks operating in India are controlled by RBI.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
App app = new App();
app.run();
}
}
class App {
private final String message = "Enter the Bank name to find the rate of interest :";
private final Scanner scanner = new Scanner(System.in);
public void run(){
System.out.print(message);
String bankName = scanner.nextLine();
rateOfInterestPrinter.print(BankFactory
.getInstance(bankName)
);
}
}
class BankFactory {
public static RBI getInstance(String bankName){
if(bankName.equals("SBI")){
return new SBI();
}else if(bankName.equals("ICICI")) {
return new ICICI();
}else if(bankName.equals("PNB")){
return new PNB();
}else if(bankName.equals("RBI")){
return new RBI();
}else {
return null;
}
}
}
class rateOfInterestPrinter {
public static void print(RBI bank){
String message = String.format("%s rate of interest is: %.2f%s",
bank.getName(),
bank.getInterest(),
"%"
);
System.out.println(message);
}
}
class RBI {
private final String bankName = "RBI";
private Double interestInPercentage = 4.0;
public final Double minimumInterestInPercentage = 4.0;
public String getName(){
return this.bankName;
}
public Double getInterest(){
return this.interestInPercentage;
}
}
@Override
public String getName(){
return this.bankName;
}
@Override
public Double getInterest(){
return this.interestInPercentage;
}
}
class PNB extends RBI{
private final String bankName = “PNB”;
private Double interestInPercentage = 6.0;
public PNB() {
super();
if(interestInPercentage < super.minimumInterestInPercentage){
interestInPercentage = super.minimumInterestInPercentage;
}
}
@Override
public String getName(){
return this.bankName;
}
@Override
public Double getInterest(){
return this.interestInPercentage;
}
}
@Override
public String getName(){
return this.bankName;
}
@Override
public Double getInterest(){
return this.interestInPercentage;
}
}
OUTPUT:
Q2.: In this problem, you are given an interface Food.
import java.util.Scanner;
System.out.println(message1);
System.out.println(message2);
}
}
interface Food{
String getType();
}
@Override
public String getType() {
return "Dessert";
}
}
@Override
public String getType() {
return "Fast Food";
}
}
class FoodFactory {
public static Food getFood(String foodName) {
if(foodName.equals("Pizza")){
return new Pizza();
} else if (foodName.equals("Cake")) {
return new Cake();
}else{
return null;
}
}
}
OUTPUT:
*****