Java课程设计--日常信息查询系统.docx

上传人:p** 文档编号:682178 上传时间:2024-01-10 格式:DOCX 页数:14 大小:74.27KB
下载 相关 举报
Java课程设计--日常信息查询系统.docx_第1页
第1页 / 共14页
Java课程设计--日常信息查询系统.docx_第2页
第2页 / 共14页
Java课程设计--日常信息查询系统.docx_第3页
第3页 / 共14页
Java课程设计--日常信息查询系统.docx_第4页
第4页 / 共14页
Java课程设计--日常信息查询系统.docx_第5页
第5页 / 共14页
Java课程设计--日常信息查询系统.docx_第6页
第6页 / 共14页
Java课程设计--日常信息查询系统.docx_第7页
第7页 / 共14页
Java课程设计--日常信息查询系统.docx_第8页
第8页 / 共14页
Java课程设计--日常信息查询系统.docx_第9页
第9页 / 共14页
Java课程设计--日常信息查询系统.docx_第10页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java课程设计--日常信息查询系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计--日常信息查询系统.docx(14页珍藏版)》请在第壹文秘上搜索。

1、第1章课题概述11.1 课题的目的11.2 课题的要求11.2.1输入输出的要求11. 2.2程序实现的功能要求1第2章概要设计22.1整个程序的模块结构及流程22.2输入数据合法性的检测及初步处理22. 2.1手机号码合法性检测22. 2.2IP地址合法性检测32. 2.3身份证号码合法性检测32. 2.4网络是否连接检测42.4各个功能的描述42.4.1 联网下载数据42. 4.2处理GSON数据42. 4.3解析数据42. 4.4主窗口4第3章程序功能的实现43.1 联网下载数据的实现43.2 解析数据的实现63.3 主窗口的实现7第4章调试及发现问题的解决9第5章程序测试及分析10第6

2、章总结12参考文献13第1章课题概述本次数据结构课程设计的题目是设计日常信息查询系统(手机号码归属地查询、IP地址查询、身份证信息查询)。1.1 课题的目的由于社会在不断发展,互联网已被千千万万的的家庭所接收。于此同时,诈骗电话的的不断轰炸,身份虚假问题频频发生,网关的庞大,因此一个简单的日常信息查询系统就显得十分必要。通过对这些信息的查询及分析,就避免被别人诈骗,财产安全的得以保证。本系统采用java语言编写,用GoOgIe-GSOn开源包处理数据。以最简洁的界面反馈给用户,使用户有更好的体验。1.2 课题的要求1.2.1 输入输出的要求(1)程序运行后应首先输出一个图形界面,并将所有的查询

3、选项罗列在界面上供用户进行选择,以便进行相应的操作。(2)查询对象应能够从键盘输入。(3)用户每次更新输入数据后,应能立即输出查询的结果。(4)查询结果的输出应整齐、清晰,以便用户能够验证程序的正确性。1.2.2 程序实现的功能要求(1)实现用手机号码查询归属地和运营商(2)实现用IP地址查询归属地(3)实现用身份证号查询出生地、出生年月日、性别(4)将查询的信息打印在界面上第2草概要设计2.1整个程序的模块结构及流程根据课题要求,整个程序按功能可划分为手机号码归属地查询、IP地址查询、身份证信息查询三个主要功能。实现这三个功能,应该包括从网上下载数据、解析数据、输出数据。为更好地提供程序的人

4、机交互能力,程序用图形界面的形式展现。图2-1整个程序各功能模块查询手机查询身份证2.2输入数据合法性的检测及初步处理为防止用户输入非法数据,在查询时,对用户输入的字符串进行数据合法性检验是非常重要的。2.2.1手机号码合法性检测输进去一些字母,比如AsslkjALKSJKQ手机号码位数错误,输进去少于11位或者多于11位不输入号码直接查询;publicvoidactionPerformed(ActionEvente)Stringstr=phoneTf.getText();if(str.equals()JOptionPane.showMessageDiaLog(phoneBtr,“请输入你的手

5、机号码!”);return;)if(str.matches(,a-zA-Z+)JOptionPane.ShoMMessageDiaLog(phoneBtn,”输入格式错误!);return;)if(!str.matches(,dll)JOptionPane.ShoMMessageDiaLog(phoneBtn,”手机号码位数错误!);return;)2.2.2IP地址合法性检测不输进去IP地址直接查询;publicvoidactionPerformed(ActionEvente)Stringstr=ipTf.getText();if(str.equals()DOptionPane.ShoMMe

6、ssageDiaLog(ipBtn,请输入你要查询的IP地址“);return;)if(str.matches(,a-zA-Z+)JOptionPane.S力OWMeSSageDtaLog(PhOneBtn,”输入格式错误!);return;)if(str.matches(d+)JOptionPane.S力OWMeSSageDtaLog(PhOneBtn,”输入格式错误!);return;)2.2.3身份证号码合法性检测不输入身份证号码直接查询;输入身份证号码不是18位:if(restring.equals(,)DOptionPane.shMMessageDiaLog(idBtn,“请输入你的

7、身份证号码”);return;)if(!restring.matches(d18)DOptionPane.shMMessageDiaLog(idBtn,请检查输入的18位身份证号码”);return;string=newDownload().DownLoadIdImf(2. 2.4网络是否连接检测是否连接上网络;try(if(!string.subSequence(4j6).equals(,bd)JOPtionPane.s力。WMeSSageDiaLOg(ipBtn,你的网络异常,请检查!);return;)catch(StringlndexoutofBoundsExceptione2)JOP

8、tiOnPane.sbOkfMeSSageDiaLog(ipBtn你的网络异常,请检查!”);return;)2.4各个功能的描述2.4.1联网下载数据要想查询数据,就需要从网上下载数据。网上有许多的接口便于我们查询所要的信息,这些接口中有的是返回XML数据,有的是返回GSorl数据,我们把这些下载来的数据保存在我们定义好的String变量中。2.4.2处理Gson数据保存在String的数据并不是标准形式的GSorI数据,包含了一些前缀和后缀。因此我们可以用StringBUffer来处理这些数据,使之成为标准形式的数据。2.4.3解析数据那么处理好的数据我们就可以进行解析了,解析需要用到Go

9、ogle-Gson的开源包,这个包功能十分强大,用它可以对我们的数据轻松进行解析。2.4.4主窗口最后将解析好的数据输出在我们已经设计的窗口上。第3章程序功能的实现3.1 联网下载数据的实现既然需要下载数据,首先我们需要从网上找到相应的接口来下载,联网下载数据需要我们用到包和java,io来处理,将下载来的数据保存在一个字符串中,便于下面来处理。下载类中我有三个方法,每个方法分别处理不同的功能。但实质上相当于一个方法,首先你要获得一个网址,将用Url类将网址变成一个Url对象,用里面的HttpUrlConnection方法开始连接网络,然后用BufferRead来读取每一行然后连接起来,最后转

10、换成字符串返回。具体代码如下:publicStringdownloadPhoImf(Stringurlstr,Stringnum)StringBuffersb=newStringBUffer();Stringline=null;BufferedReaderbf=null;try(Stringreurlstr=urlstr+num;web=newURL(reurlstr);HttpURLConnectionurlConn=(HttpURLConnection)web.OpenConnection();bf=newBufferedReader(newInputStreamReader(urlCon

11、n.getInputStream();while(line=bf.readLine()!=null)line.toString().trim();sb.append(line);)System.out.println(sb.toString();catch(Exceptione)finallytry(if(bf!=null)bf.close();elsereturnnull;)catch(IOExgptione)e.printStackTrace();)returnsb.toString().trim();_GetZoneResult_=Smts:*1500173,province:3上海,c

12、atName/中国移动telString15001736187,areaVid29423ispVid:3236139barrier:上海移动图3-1运行结果3.2 解析数据的实现解析数据之前需要对我们下载的数据进行处理,因为数据必须是标准格式的数据(如图)mts1500173;,、,province:上海,catName/中国移动,telString15001736187,areaVid29423,ispVid:3236139carrier:上海移勃图3-2Gson数据图处理好这种Gson数据后就可以开始解析了,解析需要用到我们Google-Gson包给我们提供的方法来解析,首先我们需要将这个

13、数据编程我们事先定义好的实体类,用实体类的get()方法就可以的出想要的结果。代码如下:publicStringparsetCatName(StringJson)Gsongson=newGson();JsonReaderjr=newJsonReader(newStringReader(Dson);jr.setLenient(true);Useruse=gson.fromJson(jr,User.class);Strings=use.getBirthday();returns;)这段代码就可以实现将我们的Gson数据变成我们User实体类的类方法,便于解析。实体类的代码如下:publicclas

14、sUserStringbirthday;publicStringgetBirthday()returnbirthday;)publicvoidSetBirthday(Stringbirthday)this.birthday=birthday;)就可以用上面use.gctCatnamc()来得到birthday的结果。其他功能相对于这种功能类似,用相同的方法来解析即可(如下图)。3.3 主窗口的实现主窗口使用java,awt包和javax.Swing包给我们提供的方法来构建我们需要的GUI0在界面中,因为我们程序包含三个模块,所以可以用三个PaneI来构建三个区域。在这三个区域中,分别添加一个TCXtFieId,BUttOrI和TeXtAera。这样就可以得到我们需要的界面了。主要代码在下:MyFrame(Strings)super(s);setLayout(newGridLayout(3j1);phoneJP=new3Panel(newFlowLayout();ip3P=new3Panel(newFlowLayout();idJP=new3Panel(newFlowLayout();phoneBt

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

当前位置:首页 > IT计算机 > Java

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!