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

要求: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 {@Overridepublic 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则返回truereturn 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题目:开发一个程序,用于记录车辆购置税相关推荐

  1. 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休 息日是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对 应月份的休息日,用中括号进行标记.同时,统计出本月有几天

    By 张旭CaesarChang                合作: root121toor@gmail.com ~关注我  带你看更多精品知识 某公司软件开发工程师孙工,作息规律为上三天班,休息一 ...

  2. 开发一个程序基本思路

    开发一个程序基本思路 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 整体流程: 1.确定需求和构思整个 ...

  3. 实现两个数交换python_编写一个程序,用于实现两个数的交换。_学小易找答案

    [判断题]定喘穴定位在胸部 (10.0分) [其它]实现实心等腰三角形图案打印输出. [其它]编写一个程序,用于实现两个数的交换. [其它]实现空心等腰三角形图案打印输出. [判断题]表寒肺热证的代表 ...

  4. 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。

    开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文 ...

  5. 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月 份的休息日,用中括号进行标记.同时,统计出本月有几天

    某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月 份的休息日,用中括号进行标记.同时,统计出本月有几天 ...

  6. Qt开发一个小软件记录

    1.简述 本博客主要记载开发过程中的不熟悉的Qt小知识点.本软件是上海火克公司开发的一款应用软件,软件实现的功能主要有三个部分,1是项目管理,2是计算管道覆盖比,3是自动生成word报告. 2.内容记 ...

  7. uni-app开发小程序,笔记记录6 商品详情页

    学习地址 零基础玩转微信小程序:黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署) uniapp - 黑马优购 笔记地址 知识点 1 数据加 ...

  8. C语言试题九十一之写一个程序,用公式π/4=1-1/3+1/5-1/7+...,求π的近似值,直到最后一项的绝对值小于10^-8为止。

    1.题目 写一个程序,用公式π/4=1-1/3+1/5-1/7+...,求π的近似值,直到最后一项的绝对值小于10^-8为止. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生 ...

  9. 编写 Java 程序用于显示人的姓名和年龄。

    题目 编写 Java 程序用于显示人的姓名和年龄. 定义一个人类Person.  该类中应该有两个私有属性: 姓名 (name) 和年龄 (age) . 定义构造方法用来初始化数据成员. 再定义显示 ...

  10. python编写一个程序、输入一个数判断其是偶数还是奇数_编写一个程序,判断用户输入的整数是偶数还是奇数。 (7.0分)_学小易找答案...

    [其它]已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1] (6.0分) [其它]阅读下面的程序,分析代码是否可以编译通过,如果能编译通过,请列出运行 ...

最新文章

  1. UML for Java Programmers之dx实战
  2. OpenCV自动跟踪移动目标DaSiamRPN的实例(附完整代码)
  3. Leetcode题库 598.N叉树的前序遍历(递归迭代 C实现)
  4. css vertical-align
  5. (记录合并)union和union all的区别
  6. 线性代数的本质-B站视频
  7. 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication'
  8. 花里胡哨的c语言程序,通达信花里胡哨主图公式源码
  9. C语言猜数字游戏代码实现
  10. 深入浅出通信原理知识点5
  11. 大地测量学基础(复习)第二部分
  12. OSX 安装MongoDB
  13. vscode连接安卓模拟器上autojs
  14. 和外国人聊天的简化英语
  15. 数学四大思想八大方法_四大数学思想
  16. 网易算法实习面经(2019.3)
  17. 微信内置浏览器不支持下载的解决方案 微信点击链接直接下载app安装包功能实现方式
  18. python的endswith()的用法及实例
  19. 大蕉毕业三周年了,有话对你说 No.103
  20. 【安利】推荐几个学习SQL语句的网站

热门文章

  1. K8S Pod配置进阶1 containers字段解释
  2. 【前端工程化】搭建vue-cli + cesium项目的脚手架及常见问题
  3. 计算机组成与原理名词解释,计算机组成原理名词解释与简答
  4. 老王的JAVA基础课:序言
  5. AArch64架构内存布局及线性地址转换
  6. [HDU 5349] MZL's simple problem 神题
  7. WinEdit初使用
  8. Android Retrofit
  9. 计算机博士、加班到凌晨也要化妆、段子手……IT 女神驾到!
  10. java学生成绩分90及格_Java基础练习:题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 - 菜鸟头头...