一、小伙伴
结对同伴的学号:201406114205
姓名:陈嘉慧
博客地址:
二、作业
复利计算再升级------------------------------------------------------------
客户在大家的引导下,有了更多的想法:
- 这个数据我经常会填.....帮我预先填上呗?......
- 把界面做得简单漂亮好操作一点呗?
- 能不能帮我转成个APP,我装到手机上就更方便了?
- 我觉得这个很有用,很多人可能都需要这些功能,做到我的微信公众号上吧?
- 能不能不要让我填表单,让我发条消息,或者对着手机说句话就可以了?
每组选一两个方向加以改进,让我们的投资计算与记录工具,达到可以发布给用户使用的版本,并发布博客对此次更新进行说明与总结。
此次作业的想法:由于时间过紧,之前也没学过相关app发布,这次作业主要围绕外观和内部功能及扩展性进行升级。
三、项目简介及配置环境
一、项目简介
项目名称:复利计算软件 |
版 本 :5.2 |
版本类型:java版 |
使用工具:eclipse或者Myeclipse,swing插件,MySQL,navicat for mysql,还有sql包 |
主要功能:复利单利的计算、贷款的计算以及投资的计算三大功能 |
优势:界面简洁,操作简单,支持数据库,功能丰富,可扩展性好 |
备 注 :本代码仅作为学习交流用途,更多功能及后续开发请关注本博客园
|
四、任务分配
陈嘉慧:1、给软件添加音乐播放功能
2、重新设计及修改界面
林志杰:1、连接数据库
2、维护内部功能,防止修改界面而出现的bug
3、修改代码,提高代码的可扩展性
五、估算
估计用时:5h
估计代码行:100
实际用时:7h
实际代码行:186行
六、深入浅出学数据库
步骤一:下载基本的软件。Myeclipse或者eclipse,MySQL,navicat for mysql。
步骤二:下载mysql-connector-java-5.1.27-bin.jar包
步骤三:配置环境,在构建路径用户库新建,然后把包添加进去,然后在项目中添加用户库的构建路径。
步骤四:在navicat for mysql中创建数据库和表格
数据库查询:
private String SQLserecr(){ String line = ""; Connection conn=null; ResultSet rs=null; try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/fuli","root",""); String sql="SELECT * FROM fuli"; Statement st=conn.createStatement(); rs=st.executeQuery(sql); while(rs.next()){ line += rs.getDouble("principal") + " " + rs.getDouble("time") + " " + rs.getDouble("amount") + " " + "\n"; } st.close(); rs.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } return line; }
数据库表格如下:
程序运行结果如下:
插入数据进数据库代码:
private void SQLinsert(double tempprincipal,double temptime,double tempamount){ Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/fuli","root",""); String sql="insert into fuli(principal,amount,time) values('"+tempprincipal+"','"+tempamount+"','"+temptime+"')"; //String sql="insert into fuli(principal,amount,time)"+" values('500','530','2')"; Statement st=conn.createStatement(); int count=st.executeUpdate(sql); System.out.println("向用户插入了"+count+"条记录"); conn.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } }
运行结果:
示例代码:
public static void insert(){ Connection conn=getConnection(); try { String sql="insert into student(sno,name)"+ "values('4','zhijie')"; Statement st=conn.createStatement(); int count=st.executeUpdate(sql); System.out.println("向用户插入了"+count+"条记录"); conn.close(); } catch (Exception e) { e.printStackTrace(); } }
运行结果:
七、新的界面
八、内部扩展性
1、结构简单,方便阅读。
2、需要开发新的功能能够在登录界面直接把类实例化,而不用修改其他代码,可扩展性强
3、使用junit测试过输入数据的合法性,bug相对少
4、所有的类和方法不会一次性全被调用,只有实例化过后执行构造方法
九、总结
1、由于两个人一起写代码,会发现出更多的问题,能够提高效率。
2、感谢小伙伴,让我有时间学好并且成功从数据库进行增删改查。
十、资源
github地址: