国产车 减半
其他 正常收取
1.2升排量以下 150
1.21.6(含) 4202.0(含) 580
1.6
2.03.0(含) 7004.5(含) 3000
3.0
4.0 5000
有如下汽车交税
宝来 合资 1.6
QQ 国产 1.2
丰田 进口 3.5
捷达 合资 1.4
长安 国产 2.0
问每台车需要交税多少钱,税务局当日收入(当做每辆车一台)多少钱
package com.example.demo;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@AllArgsConstructor
@Data
public class CarInfo {
private String carName;//车名
private int carType; //1:国产 2:合资 3:进口
private BigDecimal carOutput;//排量
public BigDecimal getCarTax(BigDecimal carOutput) {
if(carOutput.compareTo(new BigDecimal("1.2")) <= 0) {
return new BigDecimal("150");
}
if(carOutput.compareTo(new BigDecimal("1.2")) >0 && carOutput.compareTo(new BigDecimal("1.6")) <= 0) {
return new BigDecimal("420");
}
if(carOutput.compareTo(new BigDecimal("1.6")) >0 && carOutput.compareTo(new BigDecimal("2.0")) <= 0) {
return new BigDecimal("580");
}
if(carOutput.compareTo(new BigDecimal("2.0")) >0 && carOutput.compareTo(new BigDecimal("3.0")) <= 0) {
return new BigDecimal("700");
}
if(carOutput.compareTo(new BigDecimal("3.0")) >0 && carOutput.compareTo(new BigDecimal("4.5")) <= 0 && carOutput.compareTo(new BigDecimal("4.0")) != 0) {
return new BigDecimal("3000");
}
if(carOutput.compareTo(new BigDecimal("4.0")) == 0) {
return new BigDecimal("5000");
}
return null;
}
public void getActualTax() {
if(carType == 0) {
System.out.println(this.carName + "请设置该车辆类型为国产还是其他类型");
return;
}
if(null == carOutput) {
System.out.println(this.carName + "请设置该车辆排量");
return;
}
BigDecimal carTax = this.getCarTax(carOutput);
if(null == carTax) {
System.out.println(this.carName + "为获取到相应应缴税额");
return;
}
if(carType == 1) {
System.out.println(this.carName + "实缴税额" + carTax.divide(new BigDecimal("2")));
} else {
System.out.println(this.carName + "实缴税额" + carTax);
}
}
public static void main(String[] args) {
List<CarInfo> carInfoList = new ArrayList<>();
carInfoList.add(new CarInfo("宝来", 2, new BigDecimal("1.6")));
carInfoList.add(new CarInfo("QQ", 1, new BigDecimal("1.2")));
carInfoList.add(new CarInfo("丰田", 3, new BigDecimal("3.5")));
carInfoList.add(new CarInfo("捷达", 2, new BigDecimal("1.4")));
carInfoList.add(new CarInfo("长安", 1, new BigDecimal("2.0")));
for(CarInfo carInfo : carInfoList) {
carInfo.getActualTax();
}
}
}