郑州航空工业管理学院
Java程序设计课程设计
题 目: 身份证生成和查询系统
学 号: 141009117
姓 名: 王创业
指导老师: 王杰
2017 年 06 月 20日
课程设计任务书
姓 名 王创业 嵌入式开发方向 专业 1410091 班
题 目
身份证生成和查询系统
开发一个身份证号码自动生成和查询系统,包括由公民的基本信息自动生成公民
设
计
任
务
的身份证号码,由身份证号码查询公民的基本信息。具体动能如下:
1.由公民的基本信息自动生成其身份证号码;
2.由公民的身份证号码能够查询出相应基本信息;
开发工具:JAVA语言,mysql ,Eclipse开发平台。
该系统由本人独立完成;
同组
学生
及其
所做
主要
工作
摘 要
每个人从出生之后就会有身份证号码,随到达一定的年龄,我们需要去派出所办理
属于自己的身份证,身份证也成居民身份证,是用于证明持有人身份的一种法定证件,它
将作为每个人独一无二的公民身份的证明工具,本人所做的身份证号自动生成系统是根据
输入的家庭住址和出生年日期,性别,通过这些自动生成,所以,第一个功能就是生成,
当点击生成按钮后,在生成身份证号后同时将注册的个人信息保存在数据库中。另一个功
能就是查询,输入所产生的身份证号,点击查询按钮后,会将查询者的个人信息输出在界
面上,十分快捷,方便。
本系统总共分为5章,第1章讲述了前言概括,第2章系统需求分析,第3章系统概
要设计,第4章主要讲述了程序系统的详细实现界面,讲述了系统运行及其调示,第5章
作为总结,主要写自己的心得体会及做课题当中所遇到的问题,及解决办法。
该系统编程语言使用Java语言,开发工具为MyEclipse ,数据库采用mysql。
关键词:
查询; 唯一; 快捷
目录
摘 要 ....................................................................................................................... 1
第1章 前言 ............................................................................................................. 3
1.1设计目的 ......................................................................................................... 3
1.2设计背景 ......................................................................................................... 3
第2章 需求分析 ..................................................................................................... 4
2.1起源 ................................................................................................................. 4
2.2趋势 ................................................................................................................. 4
第3章 系统设计 ..................................................................................................... 5
3.1系统目标 ......................................................................................................... 5
3.2系统功能结构 ................................................................................................. 5
3.3数据库设计 ..................................................................................................... 6
第4章 系统实现 ..................................................................................................... 7
4.1主窗体设计 ..................................................................................................... 7
4.2错误提示 ......................................................................................................... 8
4.3生成界面 ......................................................................................................... 8
4.4生成界面 ......................................................................................................... 9
4.5重点部分代码 ............................................................................................... 10
第5章 结束语 ........................................................................................................11
参考文献 ................................................................................................................. 12
第1章 前言
自1946年第一台计算机问世以来,计算机产业的飞速发展已远远超出人们对它的预料,
在某些生产线上,甚至一秒钟就能生产出一台微型计算机,产量猛增,价格低廉,这就使
得它的应用范围迅速扩展。如今,计算机已深入到人类社会的各个领域。各种应用程序不
断地被开发应用,随之程序设计语言也不断发展完善,Java便是这程序语言世界里的一朵
奇葩,如今甚为流行。与C++语言相比,Java是一种完全面向对象的语言,它吸取了C++
语言的语句结构,去掉了指针、多继承、运算符重载等这些降低安全性、低可靠性的语言
元素,并实现了自动回收垃圾的功能,从而使得Java语言更具有可移植性、安全性、与环
境无关性等特点,赢得了广大软件开发者的青睐。 今天,作为计算机科学与技术及相关专
业的学生,更应该了解Java语言的语法规范,理解Java语言程序设计的基本特点,掌握
利用Java语言编写程序的基本技巧学会利用Java开发环境调试程序。为了更进一步将所
学知识与实际结合起来,我选择了实现Java与MySQL的连接,并实现了一些功能。故作
此报告。
1.1 设计目的
1、进一步熟悉Java开发环境,熟悉用Java完成一个应用程序的设计过程,掌握有关
编辑、调试和整合程序的方法和技巧。
2、通过此设计,了解Java语言的特点;熟悉Java程序的编写;体会Java语言在问题
求解中的特点。
3、总结学习Java语言的心得和体会,并对Java课程设置提出自己的意见和建议。
1.2 设计背景
由于我国的人口基数大,我国人口的越来越多,对每个公民的个人管理,是政府义不
容辞的责任,中国采用身份证制度。1984年4月6日,中国国务院发布了《中华人民
共和国居民身份证试行条例》,规定:凡居住的中华人民共和国境内的中国公民,除未满
16岁者和现役军人,武装警察,以及正在服刑的犯人和被劳动教养的人员,均已申领居
民身份证。人口众多,对于公民的信息管理,信息的存储和处理也显得迫切需要,要适应
我国国情,就需要有高效的处理方式和管理方法,因此加快公民的信息化进程是必不可少
的。
第2章 需求分析
2.1 起源
1949年解放后,我国公民很长一段时间没有居民身份证,证明自己身份的时候用的是
户口簿和单位介绍信。1984年4月6日,国务院批转公安部关于颁发居民身份证若干问题
请示的通知,同时公布了《中华人民共和国居民身份证试行条例》。自此,我国通过实施
居民身份证制度,揭开了居民户口证件化管理的序幕,并且开始颁发第一代居民身份证。
居民身份证登记项目包括姓名、性别、民族、出生日期、住址和有效期。居民身份证的有
效期分为10年、20年、长期三种。第一代居民身份证为聚酯薄膜密封、单页卡式,15位
编码,最初发放的有一大批身份证是用手工填写的。
1985年9月6日,全国人大常委会第12次会议批准发布《中华人民共和国居民身份证
条例》,标志着我国居民身份证制度的正式确定。1986年11月3日,国务院批准《中华
人民共和国居民身份证条例实施细则》。此后,各地根据国务院部署的全国五年(1986至
1990年)集中发证规划,分别制定了具体实施方案,在完成试点的基础上,从城市到农村,
分期分批全面展开了颁发居民身份证工作。图为“中国一号公民”单秀荣展示自己身份证。
1999年10月1日起,经国务院批准,在全国范围内建立和实行公民身份号码制度——
国家为每个公民从出生之日起就编定唯一的、终身不变的身份代码。
2004年3月29日起中国大陆正式开始为居民换发内藏非接触式IC卡智能芯片的第二
代居民身份证。
2013年1月1日起,一代身份证停止使用,新一代身份证中还将登记指纹信息。身份
证这张能够代表我们身份的卡片引起了人们的关注。
2.2 趋势
在今天的这个信息时代,政府利用计算机来管理国家人民,已经成为一种趋势。而部
门的运营更需要便捷化,人民信息的建立,查询以及部门的管理等操作,如果要是传统的
纸质记录,查很不方便,而且容易出错,给管理员和政府工作人员带来麻烦,影响政府
的工作效率,而如果采用计算机管理,运用以编制好的程序,对公民信息,部门信息采取
信息化管理,将是非常的方便和快捷。运用身份证生成和查询系统,根据公民的个人信息,
通过工作人员的输入自动生成身份证号,这个身份证号加入数据库,成为作为中国公民的
唯一认证方式,然后通过输入身份证号就可以很方便的查询公民的姓名,所在地等基本信
息,实现对人民信息的增加,查询等功能,既节省人力,又节省开支,管理上又操作方
便。 在这个简单的身份证生成和查询系统中,虽然不是很完善,但基本功能是可以实现
的,即公民的基本信息管理,其基本功能为工作人员可以录入,查询公民的个人信息。
第3章 系统设计
本节主要介绍系统的系统目标,系统功能结构,系统数据库设计等
3.1 系统目标
根据上节的需求分析并结合用户的交流沟通,制定如下系统实现目标
(1)界面设计简洁,友好,美观大方
(2)操作简单,快捷方便
(3)数据存储安全,可靠
(4)信息分类清晰,准确
(5)强大的查询功能,查询灵活性
(6)对用户输入的数据,进行严格的检查
3.2 系统功能结构
系统主要包括生成和查询两大功能
生成功能
进入系统
查询功能
输入个人信息
输入身份证号
O
O
判断输入是
否完整
判断输入
是否有误
YES
输出身份证号
输出个人信息
3.3 数据库设计
CREATE TABLE `per` (
`name` varchar(30) OT ULL,
`sex` varchar(20) OT ULL,
`minzu` varchar(20) OT ULL,
`birthday` varchar(40) OT ULL,
`birthplace` varchar(60) OT ULL,
`id` varchar(60) OT ULL
) EGIE=InnoDB DEFAULT CHARSET=utf8;
字段名 数据类型 可否为空 长度 描述
name OT ULL 30
字符型 姓名
sex OT ULL 20
字符型 性别
minzu OT ULL 20
字符型 民族
birthday OT ULL 40
字符型 出生日期
birthplace OT ULL 60
字符型 出生地址
id OT ULL 60
字符型 身份证号
通过avicat for MySQL工具查看所创建的表格,截屏如下
第4章 系统实现
本节对系统设计的主要功能的实现进行分析和说明,并给出系统的主要运行界面。
4.1 主窗体设计
主窗体界面也是唯一的界面,是生成和查询共用的一个界面
首先布置界面,添加文本框,按钮,下拉框,通过setBounds()方法进行布局,将各个
组件进行位置的固定,将下拉框中的按钮各项添加在数组中,使用add()方法,例如在出生
地址中,首先选择省,其次是市,每个省有多个市相对应,属于一对多的关系,将市所在
的下拉框进行按钮事件监听,使用switch方法得到省的选项,再利用removeAllItems()方
法将市的按钮选项移除,通过case()方法用户选择自己的省,再addItems()方法将省对应的
市的数组添加上,年份和月份也是相同的原理。
效果图如下所示
4.2 错误提示
用户在使用过程中可能会忘记输入相对应的选项,有初始化界面可以得知:性别选项
默认为男,用户在进行输入时,可以根据自己的真实情况填写,还有考虑到我国汉族人民
最多,所以在民族选项中,默认为汉族,如果用户漏掉一些选项,使用
ssageDialog(),在生成按钮事件监听中添加该方法。
效果图如下所示
4.3 生成界面
利用hashMap类创建对象,利用类的方法put(),和循环结构将每个省市赋上对应的数
字,一个身份证号还包括自己的出生年月,三位数的随机数,再根据所选的性别,男产生
一位偶数,女产生一位奇数,使用Random()方法随机产生。如图所示,将我的个人信息输
入,在输入的同时,一,产生随机产生的身份证号,二 再将产生的个人信息存入数据库
中,以备用户查询使用。
效果图如下所示
4.4 生成界面
将上一节输入的个人信息中,我们得到了我的身份证号,再通过输入身份证号,点击
查询按钮,可以在文本框区域显示刚才输入的个人信息。
4.5 重点部分代码
该代码是按钮事件的监听。使用getSelectedItem()方法得到选项,再转化为字符串形式。
public void actionPerformed(ActionEvent e) {
String str10;
String je = t();// 得到的 姓名 的值
// n(je);
String je1 = (String) ectedItem();// 得到的 性别 的值
String je2 = (String) ectedItem();// 得到的 民族 的值
if(je1=="男"){
int arr[] = {0,2,4,6,8};//定义一个数组
int len = ;//获取数组长度给变量len
Random random = new Random();//创建随机对象
int arrIdx = t(len-1);//随机数组索引,nextInt(len-1)表示随
机整数[0,(len-1)]之间的值
int num = arr[arrIdx];//获取数组值
str10 = f(num);//数字转换为字符串
n("男: "+str10);
}
else
{
int arr[] = {1,3,5,7,9};//定义一个数组
int len = ;//获取数组长度给变量len
Random random = new Random();//创建随机对象
int arrIdx = t(len-1);//随机数组索引,nextInt(len-1)表示随
机整数[0,(len-1)]之间的值
int num = arr[arrIdx];//获取数组值
str10 = f(num);//数字转换为字符串
n("女: "+str10);
}
int ind = ectedIndex();
Object v = (pro[ind]);
String str2 = (String) ectedItem();// 得到的出生 年 的值
String str3 = (String) ectedItem();// 得到的出生 月 的值
String str4 = (String) ectedItem();// 得到的出生 日 的值
String str6 = (String) ectedItem(); // 得到的 省 的值
String str7 = (String) ectedItem();// 得到的 市 的值
String asd = (String) ectedItem();
Object v1 = (asd);
long Temp=(()*899+100);
String str9 =ng(Temp);
String strq = f(v);
String strq1 = f(v1);
String birthday = str2 + str3 + str4;
String birthplace = str6 + str7;
String wan = strq + strq1 + str2 + str3 + str4 + str9+str10;// 得到的身份证号
的值
第5章 结束语
由于时间紧张,忙于其他课程设计,经过一个星期的努力,查询API各种类的功能,
我的身份证生成和查询系统终于做完了,在这个系统中,由于之前的需求分析,功能分析
没有充足的准备,所以在做的过程中走了不少弯路,比如对代码反复修改,算是浪费不少
时间,不过也可以把这次当做一次教训。总的来说,该系统所要求的功能已经全部实现,
让本人还算感到欣慰,当然还有一些美中不足,像主界面,由于本人的较low的审美观,
所以在别人看来应该是很丑的。之所以选择做身份证号生成和查询系统,是因为我之前在
网上看到关于这个系统的例子是没有的,还有就是同学们很少做这个,图书管理系统及其
他系统,做的比较多,我本人对自己做的系统也算是十分感兴趣。
在做该系统中,也是遇到不少的问题,其中最大的问题就是在用户选择自己的家庭住
址,首先是省,其次是市,然后是县等等,依次填写。之前没有学过解决下列框按钮的类
和方法,所以对此一头雾水,问同学,同学也不太清楚,只好上网去搜,在一个例题代码
中,学会了解决问题的方法,掌握了与此相关所用的类。
关于自己的心得体会,就是一定做好需求分析,以后在做任何一个系统,不能急于做,
就好比写一篇作文一样,先要想好整篇文章采用什么结构,写代码也是一样,分析好所做
系统的功能,以及如何实现。这样可以精简代码,减少代码的冗余量。
最后,我在这里感谢老师对我的帮助,还有室友给了指导性的意见和建议。感谢他们。
参考文献
1 牛晓太《Java程序设计教程》 清华大学出版社
2金松河 王捷 黄永利 《Java程序设计经典课程》 清华大学出版社
3 网上参考 []Jsp图书馆管理系统源码
指导教师评语
成绩:
指导教师签名:
年 月 日
本文发布于:2023-05-22 22:53:17,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/falv/fa/83/96807.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |