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.