DAO题目:开发一个程序,用于记录车辆购置税

2021/6/21 14:28:11

本文主要是介绍DAO题目:开发一个程序,用于记录车辆购置税,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目:开发一个程序,用于记录车辆购置税

要求:1、由控制台录入数据,提交后保存到MySQL数据库。                                                                     2、 需要保存的信息:车主身份证号码(18位)、车辆识别代码(17位)、车辆排量、官方指导价、发票价格、缴纳车辆购置税金额                                                                                                    3、目前车辆购置税征收办法如下: 

  •  车辆购置税征收额根据计税价格计算,计税价格格式:计税价格=购车发票价格/(1+1.7%)
  • 排量在1.6L及以下车型的计算公式如下:车辆购置税=计税价格*7.5%
  • 排量在1.6L以上的车型计算公式如下:车辆购置税=计税价格*10%

效果图如下:

 创建工具类

public class ToolUtils {
    Connection conns = null;// 数据连接对象
    public static Connection open(){
        Properties pro=new Properties();
        InputStream is=ToolUtils.class.getClassLoader().getResourceAsStream("db.properties");
        Connection conn=null;
        try{
            pro.load(is);
            Class.forName(pro.getProperty("driver"));
            conn= DriverManager.getConnection(pro.getProperty("url"),pro.getProperty("username"),pro.getProperty("password"));
        }catch (Exception e){
            e.printStackTrace();
        }
        return conn;
    }
    public static void close(ResultSet rs, PreparedStatement stm, Connection conn){
        try{
            if(null!=rs)rs.close();
        }catch (Exception e){
            e.printStackTrace();
        }

        try{
            if(null!=stm)stm.close();
        }catch (Exception e){
            e.printStackTrace();
        }

        try{
            if(null!=conn)conn.close();
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}

实体类

//车辆实体类
public class Vehicle {
    private String card;   //身份证
    private String VIN;    //车辆识别代码
    private double displacement;  //车辆排量'
    private double price;    // 官方指定价格
    private double invoice;  // 发票价格
    private double money;   //车辆购置税价格

    public String getCard() {
        return card;
    }

    public void setCard(String card) {
        this.card = card;
    }

    public String getVIN() {
        return VIN;
    }

    public void setVIN(String VIN) {
        this.VIN = VIN;
    }

    public double getDisplacement() {
        return displacement;
    }

    public void setDisplacement(double displacement) {
        this.displacement = displacement;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getInvoice() {
        return invoice;
    }

    public void setInvoice(double invoice) {
        this.invoice = invoice;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }
}

车辆接口

//车辆接口
public interface VehicleDao {
    //添加车辆信息
    boolean save(Vehicle vehicle);
}

 实现接口方法

//实现接口
public class VehicleDaoMySQLImpl implements VehicleDao {
    @Override
    public boolean save(Vehicle vehicle) {
        //连接数据库
        Connection conn=null;
        conn= ToolUtils.open();
        PreparedStatement ps=null;
        //sql语句
        String sql = "insert into vehicle(card,VIN,displacement,Price,invoice,money) values(?,?,?,?,?,?)";
        try{
            //添加数据到到数据库
            ps=conn.prepareStatement(sql);
            ps.setObject(1,vehicle.getCard());
            ps.setObject(2,vehicle.getVIN());
            ps.setObject(3,vehicle.getDisplacement());
            ps.setObject(4,vehicle.getPrice());
            ps.setObject(5,vehicle.getInvoice());
            ps.setObject(6,vehicle.getMoney());
            //如果大于0则返回true
            return ps.executeUpdate()>0;
        }catch( Exception e){
            e.printStackTrace();
        }finally {
            //关闭连接
            ToolUtils.close(null,ps,conn);
        }
        return false;
    }
}

 

测试类 

public class ThisChapter1 {
    public static void main(String[] args) {
        Vehicle vehicle=new Vehicle();//调用实体类
        VehicleDao vd = new VehicleDaoMySQLImpl();//调用实现接口
        Scanner input = new Scanner(System.in);//键盘输入
        System.out.println("记录车辆购置税,请按提示录入相关信息:");
        System.out.println("请输入车主身份证号码(18位):");
        String Card=input.next();
        while (Card.length()!=18){
            System.out.println("对不起!输入有误,请重新输入:");
            Card=input.next();
        }
        System.out.println("请输入车辆识别码(17位):");
        String VIN=input.next();
        while (VIN.length()!=17){
            System.out.println("对不起!输入有误,请重新输入:");
            VIN=input.next();
        }
        System.out.println("请输入车辆排量:");
        double displacement=input.nextDouble();
        System.out.println("请输入官方指导价:");
        double Price=input.nextDouble();
        System.out.println("请输入发票价格:");
        double invoice=input.nextDouble();
        double taxable =0; //计税价格
        double money = 0;  //车辆购置税
        taxable= invoice/(1+0.17);  //计算计税价格
        if(displacement<=1.6){
            money = taxable*0.075; //排量在1.6L及以下车型的车辆购置税
        }else{
            money = taxable*0.1;//排量在1.6L以上车型的车辆购置税
        }
        //传参
        vehicle.setCard(Card); //  身份证号码
        vehicle.setVIN(VIN);    // 识别代码
        vehicle.setDisplacement(displacement);  // 车辆排量
        vehicle.setPrice(Price);   // 指导价格
        vehicle.setInvoice(invoice);  // 发票价格
        vehicle.setMoney(money); // 计税金额
        //保存数据到数据库
        vd.save(vehicle);
        System.out.println("数据保存成功,车辆购置税为"+money);
        }
    }

 



这篇关于DAO题目:开发一个程序,用于记录车辆购置税的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程