ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:344.24KB ,
资源ID:4237315      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4237315.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java信用卡在线管理.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java信用卡在线管理.docx

1、java信用卡在线管理合肥学院计算机科学与技术系课程设计报告20122013学年第一学期课程Java课程设计课程设计名称信用卡在线管理系统专业班级11计本(4)班姓名黄伟指导教师张贯虹 胡春玲2013年1月一. 需求分析1、课程设计名称及内容课程设计名称:信用卡在线管理系统设计内容:设计一个信用卡管理系统,实现基于网络管理信用卡信息。2、任务和要求系统用户分为管理员、注册用户和普通用户。a) 提供注册功能,系统的访问者可以注册成为注册用户,注册信息包括卡号、密码和其他个人信息。注册用户没有任何操作权限,必须经管理员审批通过后成为普通用户才有权操作。新注册的用户,卡上初始金额为0。b) 普通用户

2、可以执行现金转入、现金转出、个人信息修改、余额查询和交易记录查询功能。c) 用户可以录入转入金额和转出金额,当转出金额大于信用卡的余额时,须判断透支金额是否在本卡的信用额度内(信用额度由管理员设定),如果在则允许透支,否则拒绝支出。d) 当信用卡发生透支后,在20天内不计利息,20天后按每天1%计算利息,当透支金额+透支利息超过本卡的信用额度,则本卡自动转入“黑名单”(利息继续计算),不再允许进行现金转出操作。e) 普通用户可以随时查看卡内余额。f) 普通用户可以按时间段查看交易记录,包括转入、转出和透支情况。g) 管理员可以审核注册用户,设定用户信用额度,批准成为普通用户。h) 管理员可以查

3、看系统内的黑名单,包括卡号和透支额度。二. 设计1数据库设计思想:(1)数据库的设计:我们使用的数据库是Microsoft SQL 2005。创建record和user表:create database card;use card;create table record( id int not null primary key , fromId varchar(100) not null, toId varchar(50) not null, money float not null, tradetime datetime);create table user1 ( id varchar(50

4、) primary key not null, password varchar(50) not null, name varchar(100) not null, type int , money float , credit float , overdraft float , blacklist int );、交易表用户表(2)对数据库的操作Insert主要时用来对数据库进行插入操作,例如在record表中插入一条记录为,public boolean insert ( Record record ) String sql = insert into record(id,fromId,toI

5、d,money,tradetime) values(?,?,?,?,?); try PreparedStatement pre = conn.prepareStatement(sql); Calendar calendar=Calendar.getInstance(); calendar.setTime(record.getTradetime(); pre.setInt(1 , record.getId(); pre.setString(2 , record.getFromId(); pre.setString(3 , record.getToId(); pre.setDouble(4 , r

6、ecord.getMoney(); pre.setDate(5 , record.getTradetime(); pre.execute(); return true; catch (SQLException e) e.printStackTrace(); return false; Delete是多数据表中的记录加以删除,例如对user表中的记录删除操作为:public boolean delete ( User user ) String sql = delete from user where id=?; try PreparedStatement pre = conn.prepareS

7、tatement(sql); pre.setString(1, user.getId(); pre.execute(); return true; catch (SQLException e) e.printStackTrace(); return false; Update是对数据库中的信息加以修改!findAll是查找数据库中的所有记录!findById是通过用户给定的id好来对数据库进行扫描,查找出所有与输入的id相匹配的信息!同时也可以根据其他的关键字对数据库进行查找查找,例如是否是黑名单,是否已经有透支额了等等,具体的实现见代码!2.java程序的设计: 主要以下几个包: -bean

8、 -User表示的是user表中的一条记录 -Record表示的是record表中的一条记录 -ChangePasswordBean是对修改密码时的所有属性的封装 -zhucBean是在新用户注册时的一条记录,主要包括属性id ,password ,name ;以及set和get方法! -dao -DBConnection用于连接数据库-RecordDAO接口是封装对数据表Record的操作-UserDAO接口是封装对数据表User的操作 -exception -inputChangePasswordInfoNotRightException是用来显示输入的修改密码的出错的信息! -Input

9、GetNumNotRightException是用户输入的取款金额不合法异常-InputSetNumNotRightException是用户输入的存款金额不合法异常 -LoginInfoNotRightException 是用户登陆是的不合法异常 -imp -RecordDAOImp是对接口RecordDAO中的方法的实现。 -UserDAOImp是对接口UserDAO中方法的实现。-service -ChangePasswordService是对修改密码服务中可能出现的不正常信息加以分类并且予以处理。 -GetService是对用户输入的取款信息的不正常信息加以分类并且予以处理。 - Log

10、inService是对用户在登陆时输入信息的不正常信息加以分类并且予以处理。 - SetService是对用户输入的存款信息的不正常信息加以分类并且予以处理。- view - ChangePasswordFrame是修改密码的操作界面。- GetFrame是用户进行取款操作的界面。- GuanlFram是管理员进行操作的界面。- LoginView是登陆主界面。- PtFram是普通用户的操作界面。- SetFrame是用户进行存款操作的界面。 - zhucFram是新注册用户进行注册的界面。a.登陆时主界面设计public class LoginView extends JFrame imp

11、lements ActionListener private JButton adminLoginButton; private JButton zhucButton; private JButton loginButton; private JTextField idField; private JPasswordField passwordField; private JLabel showMessageLabel; private String title=登陆; private JPanel panel=null; /protected ImageIcon icon; public L

12、oginView() /窗口属性设置 this.setBounds(250, 80, 550,600); /icon=new ImageIcon(img/1.jpg); panel=new JPanel(); panel.setLayout(null); panel.setBounds(250, 80, 600,650); /创建相应的组件 adminLoginButton=new JButton(管理员登陆); JLabel welcomeLabel=new JLabel(欢迎使用信用卡网上管理模拟系统); showMessageLabel=new JLabel(); JLabel name

13、Label=new JLabel(账号); JLabel passwordLabel=new JLabel(密码); idField=new JTextField(); passwordField=new JPasswordField(); zhucButton=new JButton(注册); loginButton=new JButton(登陆);/ button.setIcon(new ImageIcon(button.getToolkit().getImage(F:MyEclipseabcdefgatmicon.png); /组件属性设置 adminLoginButton.setBou

14、nds(390, 340, 120, 25); showMessageLabel.setBounds(100, 500, 500, 30); welcomeLabel.setFont(new Font(隶书,Font.BOLD,30); welcomeLabel.setBounds(20, 50, 500, 60); nameLabel.setBounds(170,240,60,30); passwordLabel.setBounds(170, 290, 60, 30); idField.setBounds(205, 240, 180, 25); passwordField.setBounds

15、(205, 290, 180, 25); zhucButton.setBounds(205, 340,60,25); loginButton.setBounds(305, 340,60,25); passwordField.setEchoChar(*); / 注册监听器 adminLoginButton.addActionListener(this); zhucButton.addActionListener(this); loginButton.addActionListener(this); passwordField.addActionListener(this); /向面板中添加各个组

16、件 panel.add(adminLoginButton); panel.add(showMessageLabel); panel.add(welcomeLabel); panel.add(nameLabel); panel.add(passwordLabel); panel.add(idField); panel.add(passwordField); panel.add(zhucButton); panel.add(loginButton); this.add(panel); this.addWindowListener(new WindowAdapter() public void wi

17、ndowClosing(WindowEvent e) System.exit(0); ); this.setResizable(false); this.setVisible(true); /* * 事件处理 */ public void actionPerformed(ActionEvent e) if(JButton)e.getSource()=zhucButton) new zhucFram(新用户注册界面); else if(JButton)e.getSource()=loginButton) UserDAOImp userDao=new UserDAOImp(); User user

18、=new User(); LoginService loginService=new LoginService(); user.setId(idField.getText().trim(); user.setPassword(String.valueOf(passwordField.getPassword(); User user1=userDao.findByIdAndPassword(user); System.out.println(user=+user.getPassword(); try loginService.checkLoginInfo(user1); /用户登陆成功后得主界面

19、 new PtFram(用户登陆成功后的操作界面,user.getId().setVisible(true); this.setVisible(false); System.out.println(ghghj); JOptionPane.showMessageDialog(null,登陆成功!,JOptionPane.DEFAULT_OPTION); catch (LoginInfoNotRightException e1) e1.printStackTrace(); System.out.println(e.toString(); showMessageLabel.setText(e.toS

20、tring(); else if(e.getSource()=adminLoginButton) if(admin.equals(idField.getText()&admin.equals(String.valueOf(passwordField.getPassword() /管理员注册成功后的主界面 new GuanlFram( 管理员登陆成功后的操作界面).setVisible(true); this.setVisible(false); else showMessageLabel.setText(账号错或者密码错,请查找后重新登陆!); idField.setText(null); p

21、asswordField.setText(null); 主界面截图:b.注册新用户界面public class zhucFram extends JFrame implements ActionListener Box basebox,box1,box2; Button Button1,Button2; TextField NameTextField =new TextField(12); TextField idTextField =new TextField(12); JPasswordField passwordTextField = new JPasswordField(12); JP

22、asswordField repasswordTextField = new JPasswordField(12); public zhucFram(String s) super(s); Button1=new Button(确定); Button2=new Button(取消); box1=Box.createVerticalBox(); box1.add(new Label(姓名); box1.add(Box.createVerticalStrut(8); box1.add(new Label(卡号); box1.add(Box.createVerticalStrut(8); box1.

23、add(new Label(请输入密码); box1.add(Box.createVerticalStrut(8); box1.add(new Label(请再输一遍); box1.add(Box.createVerticalStrut(8); box1.add(Button1); box2=Box.createVerticalBox(); box2.add(NameTextField); box2.add(Box.createVerticalStrut(8); box2.add(idTextField); box2.add(Box.createVerticalStrut(8); box2.a

24、dd(passwordTextField); box2.add(Box.createVerticalStrut(8); box2.add(repasswordTextField); box2.add(Box.createVerticalStrut(8); box2.add(Button2); basebox=Box.createHorizontalBox(); basebox.add(box1); basebox.add(Box.createHorizontalStrut(10); basebox.add(box2); Button1.addActionListener(this); Butt

25、on2.addActionListener(this); setLayout(new FlowLayout(); add(basebox); setBounds(240,250,500,300); setVisible(true); public void actionPerformed(ActionEvent e) if(e.getSource()=Button1) String userName = String.valueOf(NameTextField.getText() ; String userId = String.valueOf(idTextField.getText() ;

26、String userPassword = String.valueOf(passwordTextField.getPassword() ; String testPassword = String.valueOf(repasswordTextField.getPassword() ; if(userPassword.equals(testPassword) try User user1=new User(); user1.setId(userId); user1.setName(userName); user1.setPassword(userPassword); UserDAOImp ad

27、dUser=new UserDAOImp(); boolean success=addUser.insert(user1); if(success) JOptionPane.showMessageDialog(null,注册成功,请重新登陆,JOptionPane.DEFAULT_OPTION); else JOptionPane.showMessageDialog(null,注册失败!,JOptionPane.DEFAULT_OPTION); catch(Throwable www)www.printStackTrace(); else JOptionPane.showMessageDial

28、og(null,您输入的密码前后不符,请重新输入,JOptionPane.DEFAULT_OPTION); elsedispose() ;用户注册界面截图:c.管理员登陆界面public class GuanlFram extends Frame implements ActionListener Button shenhButton=new Button(审核注册用户); Button chakButton=new Button(查看系统内的黑名单); Button _return = new Button(返回); Box baseBox,box1; public GuanlFram(St

29、ring s) super(s); box1=Box.createVerticalBox(); box1.add(Box.createVerticalStrut(10); box1.add(shenhButton); box1.add(Box.createVerticalStrut(10); box1.add(chakButton); box1.add(Box.createVerticalStrut(10); box1.add(_return); baseBox=Box.createHorizontalBox(); baseBox.add(box1); _return.addActionListener(this); shenhButton.addActionListener(this); chakButton.addActionListener(this); setLayout(new FlowLayout(); add(baseBox); t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1