Strategy with Tax Calculation

This program applies Strategy pattern for tax calculation.

Problem Statement

Write a Java program where different tax strategies are applied.

Source Code

1 interface TaxStrategy { double calculate(double amount); }
2 class NoTax implements TaxStrategy {
3 public double calculate(double amount){ return amount; }
4 }
5 class GSTTax implements TaxStrategy {
6 public double calculate(double amount){ return amount*1.18; }
7 }
8 class Context {
9 TaxStrategy ts;
10 Context(TaxStrategy ts){ this.ts=ts; }
11 void checkout(double amt){ System.out.println("Final amount: "+ts.calculate(amt)); }
12 }
13 public class StrategyTax {
14 public static void main(String[] args) {
15 System.out.println("Eduinq Strategy Tax");
16 Context c=new Context(new NoTax());
17 c.checkout(1000);
18 c=new Context(new GSTTax());
19 c.checkout(1000);
20 }
21 }

Program Output

Eduinq Strategy Tax
Final amount: 1000.0
Final amount: 1180.0

Explanation

Different strategies encapsulate tax logic. - Context executes chosen strategy. - This models flexible enterprise payment systems with tax calculation. Conclusion: Shows Strategy pattern with tax calculation.

Quick Links to Explore