Writing cash register software is difficult Beyond the requi
Solution
public class DelawareTaxVisitor implements TaxVisitor{
public void SalesTaxGrocery(double amount){}
public void SalesTaxPreparedFood(double amount){}
public void SalesTaxClothing(double amount){}
}
public class ErieCountyTaxVisitor implements TaxVisitor{
private double salesTaxes;
private static final double ERIE_CO_TAX = 0.0475;
private static final double NY_STATE_TAX = 0.04;
public void SalesTaxGrocery(double amount){}
public void SalesTaxPreparedFood(double amount){
salesTaxes += amount*0.0875;
}
public void SalesTaxClothing(double amount){
salesTaxes += amount*0.0475;
}
}
public class NJTaxTaxVisitor implements TaxVisitor{
private double salesTaxes;
private static final double STATE_TAX = 0.07;
public void SalesTaxGrocery(double amount){
salesTaxes += amount*0.07;
}
public void SalesTaxPreparedFood(double amount){
salesTaxes += amount*0.07;
}
public void SalesTaxClothing(double amount){
salesTaxes += amount*0.07;
}
}
