欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:682165       资源大小:57.98KB        全文页数:14页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    目录第一章课题概述ILl课题的目的I1.2课题的要求I1.2.1输入输出的要求IL2.2程序实现的功能要求I第2章概要设计Il2.1 整个程序的模块结构及流程Il2.2 从网络上获取信息并输出Il2.3 输入数据合法性的检测即初步处理Il第3章程序功能的实现IV3.1 主窗口的实现IV3.2 查询的实现IV3.3 联网下载数据V3.4 解析数据Vl第4章调试及发现问题的解决10第5章程序测试及分析11第6章总结12参考文献13第一章课题概述本次小学期JAVA课程设计的题目是日常信息查询(手机号码归属地查询,IP地址查询,身份证号码查询)1.1 课题的目的日常信息查询是为了方便日常生活中人们获取需要的相关信息。没有网络数据共享的情况下,人们需要从相关书籍资料中查找;而在网络的环境下,人们可以通过网络数据方便地提取出自己需要的数据信息。因此,需要采取一定的方法将所需网络数据提取,下载并解析后呈现出来,通过编写计算机程序的方式来实现这些功能,无疑具有较大的实际意义。1.2 课题的要求1.3 .1输入输出的要求(1)程序运行后首先输出一个主菜单,并将输入框、三个查询按钮、文本输出框呈现出来,以便用户输入需要查询的信息,进行相应的操作。(2)查询信息应能够从键盘输入。(3)用户每次更新输入数据并选择查询菜单后,应能立即输出运算的结果。(4)运行结果的输出应整齐、清晰,以便用户能够验证程序的正确性。1.2. 2程序实现的功能要求用户输入数据点击查询后,可以立即在文本输出框中得到所需信息;(1)实现用手机号码查询归属地和运营商(2)实现用IP地址查询归属地(3)实现用身份证号查询出生地、出生年月日、性别第2章概要设计2.1 整个程序的模块结构及流程根据课题要求,整个程序可划分为读取信息,信息查询,输出信息。主要流程如图所示结束T图2-1程序流程图2.2 从网络上获取信息并输出(1)获取查询对象后,根据按钮的监听进行网络连接,开始查询并下载;(2)通过数据解析将所需要的信息提取并输出,即在文本输出框输出关键信息;2.3 输入数据合法性的检测即初步处理数据查询前,为防止用户输入非法数据,而导致查询失败,对用户输入的数据进行合法性检验是非常重要的。比如,防止用户输入字母,标点符号等其他不合法数据;第3章程序功能的实现3.1 主窗口的实现设置输入框,输出框,三个查询按钮,IPCHECK,IDCHECK,PHCHEK。该方法实现主要通过调用java.awt和java.SWing包中提供的方法来构建图形界面,输入框即添加TeXtField,输出框即添加TCXtAera,按钮即添加三个Button.这样就可以得到所需界面了。主要代码如下所示:MyFrame(Strings)super(s);phonetn=newJButton(*PHCHECK*);iptn=newJButton("IPCHECK");idtn=newJButtonClDCHECK");SetLayout(newFlowLayout();add(lab);add(tf);add(ta);add(phonetn);add(iptn);add(idtn);add(newJScrolIPane(ta);/SetResizable(false);SetLocation(300,300);setSize(200,200);pack();setVisible(true);3.2 查询的实现用监听器对按钮进行监听,可以通过调用实现ActionListener接口的Monitor类方法,主要代码如下:Monitorm=newMonitorO;phonetn.addActionListener(m);iptn.addActiOnListener(m);idtn.addActionListener(m);3.3 联网下载数据实现点击按钮进行网上查询,然后下载。首先我们需要从网上找到相应的接口来下载,联网下载数据需要我们用到java,net包和java,i。来处理,将下载来的数据保存在一个字符串中,便于下面来处理。下载类只有一个方法,这是由于前面监听器已经将查询对象辨别出来。首先你要获得一个网址,将用Url类将网址变成一个Url对象,用里面的HttpUrlConnection方法开始连接网络,然后用BufferRead来读取每一行然后连接起来,最后转换成字符串返回。具体代码如下:StringBuffersb=newStringBufferO;Stringline;BufferedReaderbf=null;try(url=newURL(n);HttpURLConnectionurlconn=(HttpURLConnection)url.OpenConnection();bf=newBufferedReader(newInputStreamReader(urlconn.getInputStreamO,“UTF-8");while(line=bf.readLine()!=null)sb.append(line);)catch(Exceptione)finallytry(if(bf!=null)bf.closeO;elsereturnnul1;catch(IOExceptione)e.PrintStackTraceO;)returnsb.toString().trim();)3.4 解析数据解析数据之前需要对我们下载的数据进行处理,因为数据必须是标准格式的数据,这里强调一下,在上面下载数据的时候通过调用“UTF-8”的方法已经将数据转换成GSOn数据,如果这里处理不当将会出现乱码的问题,导致解析数据失败。解析需要用到我们Google-Gson包给我们提供的方法来解析,首先我们需要将这个数据编程我们事先定义好的实体类,用实体类的get()方法就可以的出想要的结果。代码如下:publicStringparseProvince(StringJson)Gsongson=newGson();JsonReaderjr=newJsonReader(newStringReader(Json);jr.SetLenient(true);Useruser=gson.fromjson(jr,User,class);Strings=user.getProvince();returns;)publicStringparseCity(StringJson)Gsongson=newGson();JsonReaderjr=newJsonReader(newStringReader(Json);jr.SetLenient(true);Useruser=gson.fromjson(jr,User,class);Strings=user.getCity();returns;)publicStringparselpLoc(Stringdata)Gsongs=newGson();JsonReaderjs=newJsonReader(newStringReader(data);js.SetLenient(true);Useruse=gs.fromjson(js,User,class);Strings=use.getLocation();returns;publicStringparseArea(Stringdata)Gsongs=newGson();JsonReaderjs=newJsonReader(newStringReader(data);Useruse=gs.fromjson(js,User,class);Strings=use.getArea();returns;publicStringparseldSex(Stringdata)Gsongs=newGson();JsonReaderjs=newJsonReader(newStringReader(data);Useruse=gs.fromjson(js,User,class);Strings=use.getSex();returns;publicStringParseIdBirthday(Stringdata)Gsongs=newGson();JsonReaderjs=newJsonReader(newStringReader(data);Useruse=gs.fromjson(js,User,class);Strings=use.getBirthday();returns;)解析数据过程中重要的一点就是将所需数据从下载数据中提取出来,这就需要匹配。实体类代码如下:publicclassUserStringprovince;Stringcity;Stringlocation;Stringarea;Stringsex;Stringbirthday;publicStringgetBirthday()returnbirthday;)publicvoidSetBirthday(Stringbirthday)this,birthday=birthday;)publicStringgetSex()returnsex;)publicvoidsetSex(Stringsex)this,sex=sex;)publicStringgetArea()returnarea;)publicvoidsetArea(Stringaddress)this,area=area;publicStringgetLocation()returnlocation;)publicvoidSetLocation(Stringlocation)this,location=location;)publicStringgetProvince()returnprovince;)publicvoidSetProvince(Stringprovince)this,province=province;publicStringgetCity()returncity;)publicvoidsetCity(Stringcatname)this.city=catname;第4章调试及发现问题的解决虽然在程序的编写过程中遇到了很多问题,但是通过上网查阅相关资料,与其它同学讨论,询问指导老师等方式,最终都一一解决了,程序实现及调试过程中遇到的主要问题及解决方法如下。程序运行以后,在下载数据,进行读取时发现数据格式不匹配,出现乱码解决方法:在用BufferReader读取数据时进行转码,转为UTF-8,这样就可以在JAVA开发环境下正常读取;2、数据解析时,接口不同,实体类中创建的对象方法也不同,如果不匹配则无法正确解析;解决方法:可以先将下载的数据放入字符串中打印输出,这样既可以检测下载方法的正确性,又可以根据数据对实体类中的方法进行修改。第5章程序测试及分析运行程序,首先显示主菜单,列出三个按钮,PHCHECK,IPCHECK,IDCHECk分别输入电话号码,IP号码,身份证号

    注意事项

    本文(Java课程设计--日常信息查询.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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

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

    收起
    展开