Java课程设计全球通计费系统.doc

上传人:仙人指路1688 文档编号:2387082 上传时间:2023-02-17 格式:DOC 页数:14 大小:169.50KB
返回 下载 相关 举报
Java课程设计全球通计费系统.doc_第1页
第1页 / 共14页
Java课程设计全球通计费系统.doc_第2页
第2页 / 共14页
Java课程设计全球通计费系统.doc_第3页
第3页 / 共14页
Java课程设计全球通计费系统.doc_第4页
第4页 / 共14页
Java课程设计全球通计费系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Java课程设计全球通计费系统.doc》由会员分享,可在线阅读,更多相关《Java课程设计全球通计费系统.doc(14页珍藏版)》请在三一办公上搜索。

1、一、课程设计目的 本课程设计的目的是为了让学生在学习JAVA基础课程的基础上,进一步深入巩固所学理论知识、使理论与实际相结合的重要实践环节。本课程设计通过完成一些具有一定难度的程序的编写、调试、运行工作,掌握面向过程程序设计的基本方法,从而提高学生分析问题、解决问题的能力。课程设计是教学中很重要的一项实践环节,它可以帮助学生充分理解课堂教学中的内容,对提高学生的实践认识和实际动手能力都有很重要的实际意义。学生应在一周的时间内,按照课程设计的要求,结合所学的理论知识,查找相关资料,完成好本次课程设计,提高程序编写的能力,为将来的实际工作取得一定的经验。二、课程设计题目及要求1.所有题目都要求使用

2、图形界面(Swing)。2.编写全球通计费程序。3. 要求:使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。能根据输入实现各种用户的话费的计算并显示月实时帐单。三、程序设计与分析1、在My SQL数据库中建立相应的表; 注:SQL语句 create database quan;use quan;create table quanqiutong(num varchar(20),pwd varchar(10),type varchar(10),yuezu float,ldxianshi float,shihua float,gnmanyou float,cthuafei floa

3、t,shihuasum float,changtusum float); +-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| num | varchar(20) | YES | | NULL | | pwd | varchar(10) | YES | | NULL | | type | varchar(10) | YES | | NULL | | yuezu | float | YES | | NULL | | ldxianshi | float | YES | | NULL | | shihua

4、 | float | YES | | NULL | | gnmanyou | float | YES | | NULL | | cthuafei | float | YES | | NULL | | shihuasum | float | YES | | NULL | | changtusum | float | YES | | NULL | |+-+-+-+-+-+-+2、在My Eclipse中导入JDBC驱动包,并设置路径;3、链接数据库;4、界面使用流布局的方式。四、运行结果五、总结与思考 通过这次课程设计,加强了我动手、思考和解决问题的能力。在整个设计过程中,我总共想过两个方案,另一

5、个方案弄了两天,结果总是实现不了题目的要求。所以我又花了一天的时间做出这个方案,这个相对另一个方案比较简单,包括My SQL和My Eclipse的链接,数据库中表的建立,以及Java的界面划分,事件监听等。在做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。故一个小小的课程设计,对我们的作用是如此之大。六、源代码清单程序源代码import java.awt.*;import java.awt.Event.*;import javax.

6、swing.*;import javax.swing.*;import javax.swing.JPasswordField;import com.mysql.jdbc.PreparedStatement;import com.mysql.jdbc.ResultSet;import java.io.UnsupportedEncodingException;import java.sql.Connection;import java.sql.SQLException;import java.awt.event.ActionEvent;import java.awt.event.ActionLis

7、tener;public class Quan public Quan()/手机用户登录JFrame quan = new JFrame(全球通);quan.setLayout(new FlowLayout(1,15,30);quan.setBounds(200, 200, 250, 300);/添加控件JLabel jl_welcom = new JLabel(欢迎来到全球通话费查询);final JLabel jl_num = new JLabel(用户手机号);final JLabel jl_pwd = new JLabel(用户密码);final JTextField jtf_num=

8、new JTextField(10);/final JTextField jtf_pwd=new JTextField(10);final JButton jb_check=new JButton(登录);final JButton jb_cancel=new JButton(取消);final JPasswordField jtf_pwd=new JPasswordField(10); (JPasswordField) jtf_pwd).setEchoChar(*);quan.add(jl_welcom);quan.add(jl_num);quan.add(jtf_num);quan.add

9、(jl_pwd);quan.add(jtf_pwd);quan.add(jb_check);quan.add(jb_cancel);quan.setVisible(true);quan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/话费查询/添加查询按钮事件监听jb_check.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0)String num = jtf_num.getText();String pwd = jtf_pwd.

10、getText();DbUtil util = new DbUtil();try final Connection con = util.getCon();boolean loginFlag = util.login(con, num, pwd);if(loginFlag)if(arg0.getSource()=jb_check)JOptionPane.showMessageDialog(null, 登录成功);final JFrame quan1=new JFrame(话费查询);quan1.setLayout(new FlowLayout(1,15,15);quan1.setBounds(

11、400, 200, 250, 450);/添加控件JLabel jl号码=new JLabel( 号码);JLabel jl种类=new JLabel( 种类);JLabel jl月租=new JLabel( 月租);JLabel jl来电显示=new JLabel(来电显示);JLabel jl市话=new JLabel( 市话);JLabel jl国内漫游=new JLabel(国内漫游);JLabel jl长途费用=new JLabel(长途费);JLabel jl市话总和=new JLabel(市话总和);JLabel jl长途总和=new JLabel(长途总和);final JTe

12、xtField jtf号码=new JTextField(10);final JTextField jtf种类=new JTextField(10);final JTextField jtf月租=new JTextField(10);final JTextField jtf来电显示=new JTextField(10);final JTextField jtf市话=new JTextField(10);final JTextField jtf国内漫游=new JTextField(10);final JTextField jtf长途费用=new JTextField(10);final JTe

13、xtField jtf市话总和=new JTextField(10);jtf市话总和.setEditable(false);final JTextField jtf长途总和=new JTextField(10);jtf长途总和.setEditable(false);final JButton jb_check1=new JButton(查询);JButton jb_cancel1=new JButton(取消);final JButton jb_sum=new JButton(汇总);quan1.add(jl号码);quan1.add(jtf号码);quan1.add(jl种类);quan1.

14、add(jtf种类);quan1.add(jl月租);quan1.add(jtf月租);quan1.add(jl来电显示);quan1.add(jtf来电显示);quan1.add(jl市话);quan1.add(jtf市话);quan1.add(jl国内漫游);quan1.add(jtf国内漫游);quan1.add(jl长途费用);quan1.add(jtf长途费用);quan1.add(jb_check1);quan1.add(jb_cancel1);quan1.add(jb_sum);quan1.add(jtf市话总和);quan1.add(jtf长途总和);quan1.setVisi

15、ble(true);jb_check1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String num =jtf号码.getText();if(e.getSource()=jb_check1)Connection con = null ; ResultSet rs=null; DbUtil util = new DbUtil(); /异常处理 try con = util.getCon(); catch (Exception e1) e1.printStackTrace();

16、try rs=(ResultSet)util.quancheck(con, num); catch (Exception e1) e1.printStackTrace(); try rs=(ResultSet)util.quancheck(con, num); catch (NumberFormatException e2) / TODO Auto-generated catch blocke2.printStackTrace(); catch (Exception e2) / TODO Auto-generated catch blocke2.printStackTrace(); try /

17、读取数据库中的内容,并放到相应文本框中 while(rs.next() jtf号码.setText(rs.getString(num); jtf种类.setText(new String(rs.getString(type).getBytes(ISO-8859-1),(GBK); jtf月租.setText(rs.getString(yuezu);/把字节转换成中文 jtf来电显示.setText(rs.getString(ldxianshi); jtf市话.setText(rs.getString(shihua); jtf国内漫游.setText(rs.getString(gnmanyou)

18、; jtf长途费用.setText(rs.getString(cthuafei); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (UnsupportedEncodingException e1) / TODO Auto-generated catch blocke1.printStackTrace(); );/查询话费页面取消按钮jb_cancel1.addActionListener(new ActionListener()public void actionPerf

19、ormed(ActionEvent e) System.exit(0););/汇总按钮jb_sum.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String num =jtf号码.getText();if(e.getSource()=jb_sum)Connection con = null ; ResultSet rs=null; DbUtil util = new DbUtil(); try con = util.getCon(); catch (Exception e1) e

20、1.printStackTrace(); try rs=(ResultSet)util.sum(con,num); catch (Exception e1) e1.printStackTrace(); try rs=(ResultSet)util.sum(con,num); catch (NumberFormatException e2) / TODO Auto-generated catch blocke2.printStackTrace(); catch (Exception e2) / TODO Auto-generated catch blocke2.printStackTrace()

21、; try /汇总查询,读取数据库中的内容,并放到相应文本框中 while(rs.next() jtf号码.setText(rs.getString(num); jtf种类.setText(new String(rs.getString(type).getBytes(ISO-8859-1),(GBK); jtf月租.setText(rs.getString(yuezu);/把字节转换成中文 jtf来电显示.setText(rs.getString(ldxianshi); jtf市话.setText(rs.getString(shihua); jtf国内漫游.setText(rs.getStri

22、ng(gnmanyou); jtf长途费用.setText(rs.getString(cthuafei); jtf市话总和.setText(rs.getString(shihuasum); jtf长途总和.setText(rs.getString(changtusum); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (UnsupportedEncodingException e1) / TODO Auto-generated catch blocke1.printSta

23、ckTrace(); );elseJOptionPane.showMessageDialog(null, 登录失败);catch (Exception e) e.printStackTrace(););/登录页面取消按钮jb_cancel.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) System.exit(0););public static void main(String args)/ TODO Auto-generated method stubnew Quan();与数

24、据库相连的代码import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class DbUtil private String dbUrl = jdbc:mysql:/127.0.0.1:3306/quan;/ 数据库用户名private String dbUser = root;/ 数据库密码private String dbPwd = sa;/ JDBC驱动名称private String jdbcNa

25、me = com.mysql.jdbc.Driver;/ 获取数据库连接public Connection getCon() throws Exception/ 加载数据库驱动Class.forName(jdbcName);/ 创建数据库连接Connection con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);/ 返回数据库连接对象return con;/ 关闭数据库连接public void closeCon(Connection con) throws Exceptionif(con!=null)con.close();/用户登录

26、判断public boolean login(Connection con,String num,String pwd) throws ExceptionString sql = select * from quanqiutong where num=? and pwd=?;PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1, num);pstmt.setString(2, pwd);ResultSet rs = pstmt.executeQuery();/if(rs.next()/return true;

27、/else/return false;/return rs.next();/话费查询判断public ResultSet quancheck(Connection con,String num) throws ExceptionString sql=select * from quanqiutong where num=?;PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1,num);ResultSet rs = pstmt.executeQuery();return rs;/汇总查询public Resu

28、ltSet sum(Connection con,String num) throws ExceptionString sql=select * from quanqiutong where num=?;PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1,num);ResultSet rs = pstmt.executeQuery();return rs;public static void main(String arg) throws ExceptionDbUtil quancheck=new DbUtil();教师评语:教师签名:日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号