java课程设计身份证生成和查询系统
java实验 身份证号码查询
import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.regex.*;import javax.swing.text.*;//定义一个接口用于其它类实现interface IdCardInterFace {int digitCheck (final String id);//位数检查boolean charCheck ();//字符检查boolean dateCheck ();//日期检查boolean efficacyCode ();//效验码检查}//定义个身份证类用于实现接口IdCardInterFaceclass IdCard implements IdCardInterFace {public final static int systemTime = new GregorianCalendar ().get(Calendar.YEAR);//取得当前系统年份protected int year;//用于存放年份protected int month;//用于存放月份protected int date;//用于存放日期天数protected String sex;//用于存放性别protected int age;//用于存放年龄protected HashMap <Integer, String>remainGroup;//存放效验码值对应表private int remainder;//存放效验码private int totals;//存放每一位字符值与它所对应的加权因子的乘积的和protected String id;//存放身份证号码private static int DA TE_SIGN;//存放日期错误标志//定义构造函数public IdCard (){}public IdCard (String id){this.id = id;//用于存放效验码对应表remainGroup = new HashMap <Integer ,String>();remainGroup.put (0, "1");remainGroup.put (1, "0");remainGroup.put (2, "X");remainGroup.put (3, "9");remainGroup.put (4, "8");remainGroup.put (5, "7");remainGroup.put (6, "6");remainGroup.put (7, "5");remainGroup.put (8, "4");remainGroup.put (9, "3");remainGroup.put (10, "2");}//检查位数的正确性public int digitCheck (final String id){if (id.length () == 18){return 18;}else if (id.length () == 15){return 15;}else{return 0;}}//检查每一位的正确性public boolean charCheck (){if (id.length () == 17){Pattern p = pile ("[0-9]{17}");Matcher m = p.matcher (id);return m.matches ();}else if (id.length () == 18){String str = id.substring (0, id.length () - 1);String str1 = id.substring (id.length () - 1, id.length ());Pattern p = pile ("[0-9]{17}");Matcher m = p.matcher (str);if ((str1.matches ("\\d") || str1.equals ("X")) && m.matches ()){ return true;}else{return false;}}else{Pattern p = pile ("[0-9]{1,18}");Matcher m = p.matcher (id);return m.matches ();}}//检查日期的正确性public boolean dateCheck (){year = Integer.parseInt (id.substring (6, 10));//取得年份//判断年份的正确性if (year < 1900 || year > IdCard.systemTime - 18){DATE_SIGN = 1;return false;}else{month = Integer.parseInt (id.substring (10, 12));//取得月份//判断月份的正确性if (month <= 12){//判断天数的正确性date = Integer.parseInt (id.substring (12, 14));//取得天数if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))//判断是否为闰年{//判断二月份的天数正确性if (month == 2){if (date <= 29){return true;}else{DATE_SIGN = 3;return false;}}else{//判断其它月份的天数正确性if ((month < 8 && month % 2 != 0 && date <= 31) || (month < 8 && month % 2 == 0 && date <= 30)){return true;}else if ((month >= 8 && month % 2 == 0 && date <= 31) || (month >= 8 && month % 2 != 0 && date <= 30)){return true;}else{DATE_SIGN = 3;return false;}}}//判断平年的正确性else{//判断二月的天数正确性if (month == 2){if (date <= 28){return true;}else{DATE_SIGN = 3;return false;}}else{//判断其它月份的天数正确性if ((month < 8 && month % 2 != 0 && date <= 31) || (month < 8 && month % 2 == 0 && date <= 30)){return true;}else if ((month >= 8 && month % 2 == 0 && date <= 31) || (month >= 8 && month % 2 != 0 && date <= 30)){return true;}else{DATE_SIGN = 3;return false;}}}}else{DATE_SIGN = 2;return false;}}}//计算效验码public int computeEfficacyCode (){if (id.length () == 18){for (int i = id.length (); i > 1; i--){int ai = Integer.parseInt (id.substring (18-i, 19-i));int wi = (int)Math.pow (2, i-1) % 11;totals = totals + ai * wi;}}else{for (int i = id.length () + 1; i > 1; i--){int ai = Integer.parseInt (id.substring (18-i, 19-i));int wi = (int)Math.pow (2, i-1) % 11;totals = totals + ai * wi;}}remainder = totals % 11;return remainder;}//判断效验码的正确性public boolean efficacyCode (){puteEfficacyCode ();if (id.substring (id.length () - 1 , id.length ()).equals (remainGroup.get (remainder))){ return true;}else{return false;}}//判断身份证号码的正确性public boolean idJudge ({boolean b;String str;b = charCheck ();//进行每一位检查if (b){b = dateCheck ();//进行日期检查if (b){if (id.length () == 18){b = efficacyCode ();//进行效验码判断if (b){return true;}else{IdCardGui.strError = "效验码有误(最后一位),请重新输入!";}}else{return true;}}else{switch (DA TE_SIGN){case 1 :IdCardGui.strError = "年份输入有误(1900~ " + (IdCard.systemTime - 16) + "),请重新输入!";break;case 2 :IdCardGui.strError = "月分输入有误(1~12),请重新输入!";break;case 3 :IdCardGui.strError = month + "月所在的天数有误,请重新输入!";break;}}}else{IdCardGui.strError = "含有特殊字符, 请重新输入!";}return b;}//进行性别判断public void sexJudge (){if (Integer.parseInt (id.substring (id.length () - 2, id.length () - 1)) % 2 == 0){sex = "女";}else{sex = "男";}}}//定义一个NewIdCard类用于进行新身份证号码的操作class NewIdCard extends IdCard{public String newId;public StringBuffer oldId;public NewIdCard (String newId){super (newId);this.newId = newId;}//用于将新身份证号码转换成旧身份证号码public void newToOldIdCard (){oldId = new StringBuffer (newId);oldId = oldId.delete (6, 8);oldId = new StringBuffer (oldId.substring (0, oldId.length () - 1));}}//定义一个OldIdCard类用于进行旧身份证号码的操作class OldIdCard extends IdCard{public StringBuffer newId;public String oldId;public OldIdCard (String oldId){super (oldId);this.oldId = oldId;this.newId = new StringBuffer (oldId);}public void setNewId (){newId = newId.insert (6, "19");id = new String (newId);}//用于将旧身份证号码转换成新身份证号码public void oldToNewIdCard (){int remainder = computeEfficacyCode ();newId = newId.append (remainGroup.get (remainder));id = new String (newId);}}//定义个窗口类class IdCardGui extends Frame{public Label lb = new Label ();public JDialog dialog;public static String strError = null;private String id;//初使化对文本框public JTextField tf1;public JTextField tf2 = new JTextField ("", 23);public JTextField tf3 = new JTextField ("", 23);public JTextField tf4 = new JTextField ("", 23);public JTextField tf5 = new JTextField ("", 23);public JTextField tf6 = new JTextField ("", 23);JButton bt = new JButton ("查询");//定义构造函数public IdCardGui (String str){super (str);}//定义个类用于创建窗口public void idSearchFrame (){//设置文本框为只读tf2.setEditable(false);tf3.setEditable(false);tf4.setEditable(false);tf5.setEditable(false);tf6.setEditable(false);setSize (400, 305);//设置窗口大小setBackground (Color.blue);//设置窗口背景颜色//定义面版Panel pan1 = new Panel ();Panel pan2 = new Panel ();Panel pan3 = new Panel ();//对面版进行设置并添加组件pan1.setLocation (20, 39);pan1.setSize (60, 25);pan1.setBackground (Color.blue);pan2.setLocation (20, 65);pan2.setSize (360, 220);pan2.setBackground (Color.white);pan3.setLocation (75, 39);pan3.setSize (500, 40);pan3.setLayout (new FlowLayout (FlowLayout.LEFT));// add (pan1);add (pan2);add (pan3);bt.setForeground(Color.pink);Font fnt = new Font("宋体", 0, 13);bt.setFont (fnt);bt.setFocusPainted(false);pan1.add (bt);pan2.setLayout (new FlowLayout (FlowLayout.RIGHT, 5, 10));pan2.add (new Label ("身份证号码:"));Font fn1 = new Font ("宋体", 0, 12);Label lab = new Label ("请输入15(必需是数字)或18位(最后一位可以是X)身份证号码");lab.setFont (fn1);pan3.add (lab);tf1 = new JTextField ("", 23);//限制文本框tf1输入字符的长度tf1.setDocument (new PlainDocument (){public void insertString (int offs, String str, AttributeSet a) throws BadLocationException { String text = tf1.getText ();if (text.length () + str.length () > 18){Toolkit.getDefaultToolkit ().beep ();return;}super.insertString (offs, str, a);}});pan2.add (tf1);pan2.add (new Label ("发证地区:"));pan2.add (tf2);pan2.add (new Label ("出生日期:"));pan2.add (tf3);pan2.add (new Label (" 性别:"));pan2.add (tf4);pan2.add (new Label (" 年龄:"));pan2.add (tf5);lb.setText ("身份证转换:");pan2.add (lb);pan2.add (tf6);setVisible (true);bt.addActionListener (new Monitor ());tf1.addActionListener (new Monitor ());//监听窗口事件addWindowListener (new WindowAdapter (){public void windowClosing(WindowEvent e) {System.exit(0);}});}public void createDialog (){//JOptionPane.showMessageDialog (this, strError, "对话框", RMA TION_MESSAGE);dialog = new JDialog (IdCardGui.this, "对话框", true);//创建对话框dialog.setSize (new Dimension (267, 117));//设置对话的大小Toolkit toolkit = dialog.getToolkit ();//Dimension screenSize = toolkit.getScreenSize ();////设置对话在窗口内显示的位置int x = IdCardGui.this.getX () + (IdCardGui.this.getWidth () - dialog.getWidth ()) / 2;if (x < 0){x = 0;}if (x + dialog.getWidth () > screenSize.width){x = screenSize.width - dialog.getWidth ();}int y = IdCardGui.this.getY () + (IdCardGui.this.getHeight () - dialog.getHeight ()) / 2;if (y < 0){y = 0;}if (y + dialog.getHeight () > screenSize.height){y = screenSize.height - dialog.getHeight ();}dialog.setLocation (x, y);//设置对话框的位置dialog.setLayout (new GridLayout (2, 1));//设置对话框的布局Panel topPanel = new Panel ();JLabel jlab = new JLabel (strError);Font fn = new Font ("宋体", 1, 13);jlab.setFont (fn);topPanel.add (jlab, BorderLayout.CENTER);dialog.add (topPanel);Panel bottomPanel = new Panel ();JButton jbutton = new JButton ("确定");jbutton.setFont (fn);jbutton.setFocusPainted(false);//监听按钮事件jbutton.addActionListener (new ActionListener (){public void actionPerformed (ActionEvent e){dialog.dispose ();}});bottomPanel.add (jbutton, BorderLayout.SOUTH);dialog.add (bottomPanel);dialog.setResizable(false);dialog.setVisible (true);//监听对话框事件addWindowListener (new WindowAdapter (){public void windowClosing (WindowEvent e){dispose ();}});}private class Monitor implements ActionListener{public void actionPerformed(ActionEvent e) {if (e.getSource () == bt || e.getSource () == tf1){boolean b = true;String str;id = tf1.getText ();IdCard idCar = new IdCard (id);int temp = idCar.digitCheck (id);//进行位数判断和检查//新身份证号码的入口if (temp == 18){NewIdCard idCard = new NewIdCard (id);b = idCard.idJudge ();if (b){idCard.newToOldIdCard ();idCard.sexJudge ();tf3.setText (idCard.year + "年" + idCard.month + "月" + idCard.date + "日");tf4.setText (idCard.sex);tf5.setText ((IdCard.systemTime - idCard.year) + "");tf6.setText (new String (idCard.oldId));lb.setText ("18位转15位:");}}//旧身份证号码的入口else if (temp == 15){OldIdCard idCard = new OldIdCard (id);idCard.setNewId ();b = idCard.idJudge ();if (b){idCard.oldToNewIdCard ();idCard.sexJudge ();tf3.setText (idCard.year + "年" + idCard.month + "月" + idCard.date + "日");tf4.setText (idCard.sex);tf5.setText ((IdCard.systemTime - idCard.year) + "");tf6.setText (new String (idCard.newId));lb.setText ("15位转18位:");}}else if (id.length () == 0){b = false;IdCardGui.strError = "不能为空,请重新输入!";}else {b = idCar.charCheck ();if (!b){IdCardGui.strError = "含有特殊字符, 请重新输入!";}else{b = false;IdCardGui.strError = "位数有误,请重新输入!";}}if (!b){createDialog ();}}}}}//定义个测试类public class TestIdCard7{public static void main (String[] args){IdCardGui idSearch = new IdCardGui ("身份证查询软件--作者:莫华东");idSearch.setLocation (400, 200);//设置窗口位置idSearch.setLayout (null);//取消窗口的内存布局idSearch.setResizable(false);//将窗口定义为不能改变大小idSearch.idSearchFrame ();//创建窗口}}。
【Java练手项目】Java身份证号码识别系统
【Java练⼿项⽬】Java⾝份证号码识别系统项⽬介绍本项⽬是通过学习https:///nbsl/idCardCv 后整合tess4j,不需要经过训练直接使⽤的,当然,你也可以进⾏训练后进⾏使⽤。
该项⽬修改原有的需要安装opencv的过程,全部使⽤javaccp技术重构,通过javaccp引⼊需要的c++库进⾏开发。
不需要安装opencv 新增的了前端控制识别区域的功能,新增了后端识别后验证,页⾯样式主要适应paid,重新修改了后⾯的识别过程,⽤户opencv进⾏图⽚优化和区域选择,使⽤tess4j进⾏数字和x的识别配合样式中的区域在后台裁剪相关区域图⽚ /idCardCv/src/main/resources/static/js/plugins/cropper/cropper.css遇到问题1、ng.UnsatisfiedLinkError: C:\Users\Administrator.javacpp\cache\opencv-3.4.3-1.4.3-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\jniopencv_core.dll: Can't find dependent libraries 我的问题是因为没有c++运⾏环境,我在img/vc_redist.x64.exe中添加了64位的运⾏环境⾝份证号码识别请求地址 http://localhost:8080/idCard/index 它基于openCV这个开源库。
这意味着你可以获取全部源代码,并且移植到opencv⽀持的所有平台。
它是基于java开发。
它的识别率较⾼。
图⽚清晰情况下,号码检测与识别准确率在90%以上。
Required Software本版本在以下平台测试通过:windows7 64bitjdk1.8.0_45junit 4opencv4.3javaccp1.5.3tess4j4.5.1tesseract4.0.0项⽬更新1、先前使⽤base64进⾏图⽚的上传⽐较缓慢,使⽤webuploader插件进⾏分⽚上传,⽹速慢的时候可以提升速度,尤其是paid浏览器使⽤。
学生个人信息管理系统JAVA课程设计
JButton jbysno=new JButton("按学号查询"); //用于输入学号vsno.setText(rs.getString("sno")) //用于获得输入的学号(5)主要成员方法:actionPerformed(ActionEvent e)//实现事件监听,分别按学号、姓名查询学生信息4.2.4 更改学生信息界面类(1)类名:alterlist(2)父类:实现ActionListener接口(3)作用:完成按钮的事件监听,实现更改学生信息功能(4)主要成员变量:JButton alsno=new JButton("更改学生信息"); //用于输入学号vsno.setText(rs.getString("sno")) //用于获得输入的学号(5)主要成员方法:public void actionPerformed(ActionEvent e);//连接数据库,实现更改学生信息功能4.3 程序运行与调试4.3.1 运行界面本程序在windows xp操作系统下进行调试和运行,运行界面如下:功能选择界面:图4-1 功能选择界面查询学生信息界面:录入添加学生信息界面:图4-2 登陆界面图4-3 查找学生信息界面图4-4 录入添加学生信息界面图4-5 用户界面4.3.2 错误调试(1)在myStudent类中主方法出现页面跳转失败错误原因:没有在insert类中加入主方法如何解决:在insert类中加入主方法,然后再事件监听器中加入new insert().main(null);实现跳转页面(2)在insert类insertinfo方法中出现无法解析错误原因:参数传递时没有添加数据类型如何解决:参数传递时添加数据类型(3)在insert类insertinfo方法中出现数据库连接语法错误原因:没有处理Class.forName("com.mysql.jdbc.Driver");等方法的异常如何解决:将这段代码放入try-catch块进行处理(4)在query类querybyname方法中出现查询失败错误原因:语句错误,传递参数是学生学号而不是学生姓名如何解决:改正传递的参数(5)在insert类actionPerformed方法中出现姓名格式输入正确却提示错误原因:if条件语句中布尔变量错误如何解决:在布尔表达式前加逻辑非符号!。
JAVA学生信息管理系统实验报告
JAVA学生信息管理系统实验报告一、实验目的1. 掌握Java面向对象编程思想;2. 熟悉Java GUI编程基本知识;3. 熟悉Java文件读写操作;4.培养实际问题分析及解决能力。
二、实验要求设计并实现一个Java学生信息管理系统,具备以下功能:1.界面要简洁、美观,方便用户操作;2.能够实现学生信息的录入、查询、修改、删除和展示功能;3.学生信息至少包括学号、姓名、性别、年龄、院系等基本信息;4.学生信息的存储要求使用文件保存。
三、实验设计1. 界面设计:使用Java Swing库设计界面,包括菜单栏、工具栏、按钮、文本框等组件,通过布局管理器实现界面的合理布局;2. 文件读写操作:使用Java的文件读写类实现学生信息的读取、保存和更新,例如使用FileReader、FileWriter等类;3. 数据结构设计:定义一个学生类,包含学号、姓名、性别、年龄、院系等成员变量,实现get和set方法;4.功能实现:根据用户的操作,实现学生信息的录入、查询、修改、删除等功能。
四、实验步骤1.创建项目并导入相关库文件;2.创建学生类,定义学生的基本信息和操作方法;3.创建主界面,包括菜单栏、工具栏、按钮等组件,并设置布局管理器;4.编写界面事件监听器,实现按钮的点击响应;5.实现学生信息录入功能,包括将信息写入文件;6.实现学生信息查询功能,读取文件中的学生信息并展示;7.实现学生信息修改和删除功能,更新文件中的学生信息;8.编写实验报告。
五、实验结果成功实现了Java学生信息管理系统,具备录入、查询、修改和删除功能。
主界面简洁美观,用户操作便捷。
学生信息存储在文件中,可以进行读写操作。
六、实验心得通过这次实验,我进一步熟悉了Java面向对象编程思想和GUI编程基本知识。
实践中,我遇到了一些问题,例如界面布局、事件监听和文件读写等方面,但通过查找资料和反复调试,最终解决了这些问题。
通过这个实验,我对Java的掌握程度更加深入了解,提高了实际问题分析及解决能力。
java实现二代身份证信息查询程序(共五则)
java实现二代身份证信息查询程序(共五则)第一篇:java实现二代身份证信息查询程序本文是在java平台上编写的二代身份证信息查询程序,可以查询二代身份证的基本信息,包括文字信息和图像信息。
用到的Jar包是JNative.jar,这个很容易就能下载到,下载后添加到工程的外部jar库中。
另外,程序装载了sdtapi.DLL和WltRS.DLL文件,这两个文件必须放到C:WindowsSystem32目录下。
只有一个java文件,需要说明的是:用到的测试设备接口是RS232串口,USB的接口程序可自行修改。
资料是在网上用积分买的,现免费共享给手上没有积分的朋友下载。
package com.a;import javax.swing.*;import org.xvolks.jnative.JNative;import org.xvolks.jnative.Type;importorg.xvolks.jnative.exceptions.NativeException;importorg.xvolks.jnative.pointers.Pointer;importorg.xvolks.jnative.pointers.memory.MemoryBlockFactory;import java.awt.*;import javax.imageio.ImageIO;import java.io.*;import java.util.StringT okenizer;import java.awt.event.*;public class IdentityInfoReader extends JFrame implements ActionListener { private static final long serialVersionUID =-***8441L;JLabel[] label = new JLabel[10];JButton showBmp;JTextField[] text = new JTextField[9];String[] labelItem = {“姓名:”, “性别:”, “民族:”, “出生年月:”, “地址:”, “身份证号:”, “签发机构:”, “期限起始:”, “期限终止:”};JNative openJN = null, findJN = null, selectJN = null, readJN = null, MngJN = null, BmpJN = null, closeJN = null;JButton readJB, exitJB;int iPort = 1;int iIfOpen = 1;public InformationReader(String str){super(str);Sys tem.loadLibrary(“sdtapi”);try {try {init();} catch(NativeException e){} catch(UnsupportedEncodingException e){e.printStackTrace();}} catch(IllegalAccessException e){}label[0] = new JLabel(“二代身份证信息”);label[0].setBounds(200, 20, 95, 25);getContentPane().add(label[0]);for(int j = 1;j < labelItem.length + 1;j++){label[j] = new JLabel(labelItem[j1]);} text[0].setText(Info[0]);if(Info[1].charAt(0)=='1'){ text[1].setText(“男”);} else if(Info[1].charAt(0)== '2')text[1].setText(“女”);char[] nat ionChar = new char[2];Info[1].getChars(1, 3, nationChar, 0);String nationStr = “";nationStr = String.valueOf(nationChar);if(nationStr.equals(”01“))text[2].set Text(”汉“);else if(nationStr.equals(”02“))text[2].setText(”蒙古族“);else if(nationStr.equals(”03“))text[2].setText(”回族“);else if(nationStr.equals(”04“))text[2].setText(”藏族“);else if(nationStr.equals(”05“))text[2].setT ext(”维吾尔族“);else if(nationStr.equals(”06“))text[2].setT ext(”苗族“);else if(nationStr.equals(”07“))text[2].setT ext(”彝族“);else if(nationStr.equal s(”08“))text[2].setT ext(”壮族“);else if(nationStr.equals(”09“))text[2].setT ext(”布依族“);else if(nationStr.equals(”10“))text[2].setT ext(”朝鲜族“);elseif(nationStr.equals(”12“))text[2].setT ext(”侗族“);else if(nati onStr.equals(”13“))text[2].setT ext(”瑶族“);else if(nationStr.equals(”14“))text[2].setT ext(”白族“);else if(nationStr.equals(”15“))text[2].setT ext(”土家族“);else if(nationStr.equals(”16“))text[2].setT ext(”哈尼族“);else if(nationStr.equals(”17“))text[2].setT ext(”哈萨克族“);else if(nationStr.equals(”18“))text[2].setT ext(”傣族“);else if(nationStr.equals(”19“))text[2].setT ext(”黎族“);else if(nationStr.equals(”20“))text[2].setText(”傈僳族“);else if(nationStr.equals(”21“))text[2].setText(”佤族“);else if(nationStr.equals(”22“))text[2].setT ext(”畲族“);else if(nationStr.equals(”23“))text[2].setT ext(”高山族“);else if(nationStr.equals(”24“))text[2].setT ext(”拉祜族“);else if(nationStr.equals(”25“))text[2].setT ext(”水族“);else if(nationStr.equals(”26“))text[2].setT ext(”东乡族“);else if(nationStr.equals(”27“))text[2].setT ext(”纳西族“);else if(nationStr.equals(”28“))text[2].setT ext(”景颇族“);else if(nationStr.equals(”29“))text[2].setT ext(”柯尔克孜族“);else if(nationStr.equals(”30“))text[2].setT ext(”土族“);else if(nationStr.equals(”31“))text[2].setT ext(”达翰尔族“);else if(natio nStr.equals(”32“))text[2].setT ext(”仫佬族“);else if(nationStr.equals(”33“))text[2].setT ext(”羌族“);else if(nationStr.equals(”34“))text[2].setT ext(”布朗族“);else if(nationStr.equals(”35“))text[2].setT ext(”撒拉族“);else if(nationStr.equals(”36“))text[2].setT ext(”毛南族“);else if(nationStr.equals(”37“))text[2].setT ext(”仡佬族“);else if(nationStr.equals(”38“))text[2].setT ext(”锡伯族“);else if(nationStr.equals(”39“))text[2].setT ext(”阿昌族“);else if(nationStr.equals(”40“))text[2].setT ext(”普米族“);elseif(nationStr.equals(”42“))text[2].setT ext(”怒族“);else if(nationStr.equals(”43“))text[2].setT ext(”乌孜别克族“);else if(nationStr.equals(”44“))text[2].setT ext(”俄罗斯族“);else if(nationStr.equals(”45“))text[2].setT ext(”鄂温克族“);else if(nationStr.equa ls(”46“))text[2].setText(”德昂族“);else if(nationStr.equals(”47“))text[2].setText(”保安族“);else if(nationStr.equals(”48“))text[2].setText(”裕固族“);else if(nationStr.equals(”49“))text[2].setText(”京族“);else if(nationStr.equals(”50“))text[2].setText(”塔塔尔族“);else if(nationStr.equals(”51“))text[2].setText(”独龙族“);else if(nationStr.equals(”52“))text[2].setText(”鄂伦春族“);else if(nationStr.equals(”53“))text[2].setText(”赫哲族“);else if(nationStr.equals(”54“))text[2].setText(”门巴族“);else if(nationStr.equals(”55“))text[2].setText(”珞巴族“);else if(nationStr.equals(”56“))text[2].setText(”基诺族“);else if(nationStr.equals(”57“))text[2].setText(”其它“);else if(nationStr.equals(”98“))text[2].setText(”外国人入籍“);String BirthyearStr = ”“;char[] BirthyearChar = new char[4];Info[1].getChars(3, 7, BirthyearChar, 0);BirthyearStr = String.valueOf(BirthyearChar);String BirthmonthStr = ”“;char[] BirthmonthChar = new char[2];Info[1].getChars(7, 9, BirthmonthChar, 0);BirthmonthStr = String.valueOf(BirthmonthChar);Stri ng BirthdateStr = ”“;char[] BirthdateChar = new char[2];Info[1].getChars(9, 11, BirthdateChar, 0);BirthdateStr = String.valueOf(BirthdateChar);text[3].setText(BirthyearStr + ”年“ + BirthmonthStr + ”月“ + BirthdateStr + ”日“);char[] addressChar = new char[Info[1].length()18];Info[2].getChars(18, Info[2].length(), issueChar, 0);String issueStr = ”“;issueStr = String.valueOf(issueChar);text[6].setText(issueStr);char[] startyearChar = new char[4];Info[3].getChars(0, 4, startyearChar, 0);String startyea rStr = ”“;startyearStr = String.valueOf(startyearChar);char[] startmonthChar = new char[2];Info[3].getChars(4, 6, startmonthChar, 0);String startmonthStr = ”“;startmonthStr = String.valueOf(startmonthChar);char[] startdateChar = new char[2];Info[3].getChars(6, 8, startdateChar, 0);String startdateStr = ”“;startdateStr = String.valueOf(startdateChar);text[7].setText(startyearStr + ”年“ + startmonthStr + ”月“ + startdateStr + ”日“);char[] endyearChar = new char[4];Info[3].getChars(8, 12, endyearChar, 0);String endyearStr = ”“;endyearStr = String.valueOf(endyearChar);char[] endmonthChar = new char[2];Info[3].getChars(12, 14, endmonthChar, 0);String endmonthStr = ”“;endmonthStr = String.valueOf(endmonthChar);char[] enddateChar = new char[2];Info[3].getChars(14, 16, enddateChar, 0);String enddateStr = ”“;enddateStr = String.valueOf(enddateChar);text[8].setText(endyearStr + ”年“ + endmonthStr + ”月“ + enddateStr + ”日“);int count1 = d.getSize();byte[] byteArray1 = new byte[count1];for(i = 0;i < count1;i++)byteArray1[i] = c.getAsByte(i);try {File myFile = new File(”zp.wlt“);FileOutputStream out = new FileOutputStream(myFile);out.write(byteArray1, 0, count1-1);} catch(IOException t){}closeJN.invoke();// System.out.println(closeJN.getRetVal());int l = 0;System.loadLibrary(”WltRS“);BmpJN = new JNative(”WltRS“, ”GetBmp“); BmpJN.setRetVal(Type.INT);BmpJN.setParameter(l++, ”zp.wlt“); BmpJN.setParameter(l++, 1);BmpJN.invoke();if(readJN.getRetVal().equals(”144“)) System.out.println(”相片解码成功!“);elseSystem.out.println(”相片解码不成功!“); Image image = null;try {image = ImageIO.read(new File(”zp.bmp“)); } catch(IOException ex){}ImageIcon icon = new ImageIcon(image); showBmp.setIcon(icon);getContentPane().add(showBmp); setVisible(true);a.dispose();b.dispose();c.dispose();d.dispose();e.dispose();} catch(NativeException e){} catch(UnsupportedEncodingException e){ e.printStackTrace();}} catch(IllegalAccessException e){} }public static void main(String agrs[]){InformationReader informationReader = new InformationReader(”二代身份证信息读取");informationReader.setSize(500, 500);} }第二篇:简单的员工信息查询java程序import java.awt.event.ActionListener;import javax.swing.*;import java.awt.event.*;import java.awt.*;import java.sql.*;public class Employee extends JFrame implements ActionListener{String titles[]={“工号:”,“姓名:”,“性别:”,“出生日期:”,“联系电话:”,“家庭住址:”,“个人情况:”};JTextField employeeID=new JTextField(8);JTextField employeeName=new JTextField(8);JTextField employeeSex=new JTextField(2);JTextField employeeBirthday=new JTextField(6);JTextField employeePhone=new JTextField(11);JTextField employeeAddress=new JTextField(20);JTextArea employeeResume=new JTextArea();JButton first=new JButton(“首页”);JButton next=new JButton(“下一条”);JButton previous=new JButton(“上一条”);JButton last=new JButton(“尾页”);Statement stmt;ResultSet rs;Employee(){super(“员工信息查询”);setSize(350,330);try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Connectionconn=DriverManager.getConnection(“jdbc:odbc:mydb”,“sa”,“123”);stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(“select * from mdb”);getContentPane().setLayout(new BorderLayout(0,8));JPanel p[]=new JPanel[6];for(int i=0;i<6;i++){p[i]=new JPanel(new FlowLayout(FlowLayout.LEFT,10,0));p[i].add(new JLabel(titles[i]));}p[0].add(employeeID);p[1].add(employeeName);p[2].add(employeeSex);p[3].add(employeeBirthday);p[4].add(employeePhone);p[5].add(employeeAddress);JPanel p1=new JPanel(new GridLayout(6,1,0,8));JScrollPane jsp=new JScrollPane(employeeResume,JScrollPane.VERTICAL_SCROLLBAR _ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);jsp.setPreferredSize(new Dimension(250,80));for(int i=0;i<6;i++)p1.add(p[i]);JPanel p2=new JPanel(new FlowLayout(FlowLayout.LEFT,10,0));p2.add(new JLabel(titles[6]));p2.add(jsp);JPanel p3=new JPanel();p3.add(first);p3.add(previous);p3.add(next);p3.add(last);getContentPane().add(p1,“North”); getContentPane().add(p2,“Center”); getContentPane().add(p3,“South”); next.addActionListener(this);previous.addActionListener(this);first.addActionListener(this);last.addActionListener(this);rs.first();display();}catch(Exception e){e.printStackTrace();} setVisible(true);}public void actionPerformed(ActionEvent e){ try{if(e.getSource()==next)rs.next();else if(e.getSource()==previous)rs.previous(); else if(e.getSource()==first)rs.first();else if(e.getSource()==last)st();display();}catch(Exception ee){ee.printStackTrace();}}boolean display(){try{employeeID.setText(rs.getString(“employeeID”));employeeName.setText(rs.getString(“employeeName”));employeeSex.setText(rs.getString(“employeeSex”));employeeBirthday.setText(rs.getString(“employeeBirthday ”));employeePhone.setText(r s.getString(“employeePhone”));employeeAddress.setText(rs.getString(“employeeAddress”));}employeeResume.setText(rs.getString(“employeeResume ”));}catch(SQLException e){e.printStackTrace();return false;}return true;}public static void main(String[] args){JFrame.setDefaultLookAndFeelDecorated(true);Employee em=new Employee();}第三篇:身份证信息查询接口查询身份证具体信息身份证信息查询接口查询身份证具体信息身份证信息查询接口可以查询身份证上具体信息,包括地区、性别、出生日期等情况。
信息技术作业如何使用Java编写一个简单的学生信息管理系统
信息技术作业如何使用Java编写一个简单的学生信息管理系统使用Java编写一个简单的学生信息管理系统学生信息管理系统是一种应用程序,用于管理学生的基本信息,包括学生的姓名、年龄、性别、成绩等。
在本文中,将介绍如何使用Java编写一个简单的学生信息管理系统,并通过一个示例来展示系统的基本功能。
1. 设计系统功能在开始编写代码之前,首先要设计系统的功能。
一个简单的学生信息管理系统应该具备以下功能:- 添加学生信息;- 删除学生信息;- 修改学生信息;- 查询学生信息;- 显示所有学生信息。
2. 创建Java类根据设计好的功能,创建以下几个Java类来实现系统:- 学生类(Student):用于表示学生的基本信息,包括姓名、年龄、性别、成绩等属性,并提供相应的getter和setter方法;- 学生管理类(StudentManager):用于实现学生信息的添加、删除、修改、查询和显示功能。
3. 实现学生类在学生类中,定义学生的属性,并提供相应的getter和setter方法。
以下是学生类的示例代码:```javapublic class Student {private String name;private int age;private String gender;private double score;public Student(String name, int age, String gender, double score) { = name;this.age = age;this.gender = gender;this.score = score;}// Getter and Setter methods// ...}```在上面的代码中,我们定义了一个带有四个参数的构造方法,用于初始化学生对象。
还提供了相应的getter和setter方法来获取和设置学生的属性。
4. 实现学生管理类学生管理类负责实现学生信息的添加、删除、修改、查询和显示功能。
Java程序设计课程设计报告之学生信息管理系统(附全部源码)
计算机学院课程设计专业:计算机科学与技术课程名称:JAVA程序设计课题名称: 学生信息管理系统教师:学号: 姓名:20010年6 月25 日目录第一章总体设计 (1)1.1本系统的主要功能 (1)1.2系统包含的类及类之间的关系 (1)1.3 Java源文件及其功能 (1)1.4相关文件及其功能 (2)第二章详细设计 (3)2.1主类MainWindow (3)2.2类Database (4)2.3类StuBean (5)2.4类InputStudent (6)2.5类ModifyStudent (7)2.6类QueryStudent (8)2.7类DeleteStudent (9)第三章功能测试及运行效果 (10)3.1 系统主界面 (10)3.2 录入学生信息界面 (11)3.3 查询学生信息界面 (11)3.4 修改学生信息界面 (12)3.5 修改学生信息界面 (12)工作总结 (13)参考文献 (14)第一章总体设计1.1本系统的主要功能本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。
1.2系统包含的类及类之间的关系本系统共包括7个Java源文件和3个辅助文件。
类之间的关系如图1-1所示图1-1 类之间的关系图1.3 Java源文件及其功能1.MainWindow.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.InputStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。
3.ModifyStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供修改学生基本信息的界面。
4.DeleteStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供删除学生基本信息的界面。
5.QueryStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供查询学生基本信息以及打印基本信息的界面。
java课程设计身份证生成和查询系统
郑州航空工业管理学院Java程序设计课程设计题目:身份证生成和查询系统学号:141009117姓名:王创业指导老师:王杰2017 年06 月20日课程设计任务书摘要每个人从出生之后就会有身份证号码,随到达一定的年龄,我们需要去派出所办理属于自己的身份证,身份证也成居民身份证,是用于证明持有人身份的一种法定证件,它将作为每个人独一无二的公民身份的证明工具,本人所做的身份证号自动生成系统是根据输入的家庭住址和出生年日期,性别,通过这些自动生成,所以,第一个功能就是生成,当点击生成按钮后,在生成身份证号后同时将注册的个人信息保存在数据库中。
另一个功能就是查询,输入所产生的身份证号,点击查询按钮后,会将查询者的个人信息输出在界面上,十分快捷,方便。
本系统总共分为5章,第1章讲述了前言概括,第2章系统需求分析,第3章系统概要设计,第4章主要讲述了程序系统的详细实现界面,讲述了系统运行及其调示,第5章作为总结,主要写自己的心得体会及做课题当中所遇到的问题,及解决办法。
该系统编程语言使用Java语言,开发工具为My Eclipse,数据库采用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便是这程序语言世界里的一朵奇葩,如今甚为流行。
身份证查询系统
———————————————————————————————————————专业:计算机科学与技术系系(班)姓名:课程名称:动态网页制作实验项目:身份证查询系统实验类型:综合型实验地点:软三实验室时间:指导老师:学号:一、实验目的及要求1.目的:(1)熟练掌握VBScript脚本语言(2)熟练掌握VBScript流程控制语句、函数和子函数(3)熟练掌握VBScript对象和事件的处理方法2.要求:(1)用数组实现对身份证信息的存储(2)用VBScript脚本语言实现程序(3)自己独立完成实验二、实验内容用VBScript脚本语言实现身份证查询系统(1)应用VBScript的Sub过程函数。
(2)应用字符串函数实现MID和LEN实现对字符串的截取和长度测试。
(3)应用数据类型判别函数IsNumeric判断是否字符串全为数字。
(4)应用DreamWeaver制作表单及系统的制作。
(5)应用VBScript的纠错处理处理网页中的错误。
三、实验代码<html ><head><title>身份证系统</title><script language="vbscript">dim IdCarddim Msgdim lenxlenx=len(txtId)sub btnOK_onClick()if Trim(form1.txtId.value)=Empty Thendocument.form1.elements(0).focus()MsgBox"身份证号不能为空!"Exit subelse if len(form1.txtId.value)>18 Thendocument.form1.elements(0).focus()MsgBox"身份证号码不合法!"exit subElse if len(form1.txtId.value) <15 Thendocument.form1.elements(0).focus()MsgBox"身份证号码不合法!"Exit subelse if not IsNumeric(form1.txtId.value) Then document.form1.elements(0).focus()MsgBox"身份证号码中不能有字母!"Exit subend ifend ifend ifend ifdim sfzDH(3)dim sfzGSD(3)sfzDH(0)="142732"sfzGSD(0)="山西省运城地区平陆县"sfzDH(1)="142729"sfzGSD(1)="山西省运城地区闻喜县"sfzDH(2)="142701"sfzGSD(2)="山西省运城地区运城市"sfzDH(3)="142222"sfzGSD(3)="山西省忻州市定襄县"IdCard=document.getelementbyid("txtId").valuefor i=0 to ubound(sfzBM)if sfzBM(i)=mid(IdCard,1,6) thenmsg="归属地:" & sfzGSD(i) & "<br>"exit forend ifnextmsg=msg & "生日:" & mid(IdCard,7,4) &"年"msg=msg & mid(IdCard,11,2) & "月"msg=msg & mid(IdCard,13,2) & "日" &"<br>"if mid(IdCard,17,1) mod 2=0 thenmsg = msg & "性别:女"elsemsg = msg & "性别:男"end ifdocument.getelementbyid("lblMsg").innerHTML=msg end sub</script><style type="text/css"><!--.STYLE1 {运城学院实验报告(续)font-size: 24px;color: #660000;}.STYLE2 {font-size: 36px;color: #00FF00;}.STYLE3 {color: #660000}--></style></head><body><form name="form1" method="post" action=""><p align="center" class="STYLE2">身份证查询程序</p><hr align="center" size="3" noshade="NOSHADE" color="#CC0033" width=80%><p align="center"><span class="STYLE1">请输入15或18位身份证号:</span><span class="STYLE3">:</span><input name="txtId" type="text" id="txtId" size="40" height="30"><input name="btnOK" type="button" id="btnOK" value="确定" ></p><p><label id="lblMsg"></label> </p></form></body></html>运行结果:四、实验总结1、对VBScript有了更进一步的掌握。
java学生姓名录入查询系统
package April;import java.util.Scanner;public class B2 {Scanner input = new Scanner(System.in);String []names=new String[30];String answer=" ";public void show(String name){for(int i=0;i<names.length;i++){if(names[i]==null){names[i]=name;break;}}}public void show1(){System.out.println("******学生列表******");for(int i=0;i<names.length;i++){if(names[i]!=null){System.out.print(names[i]+"\t");}}}public boolean findCustomer(String name){ boolean find = false;int i =0;while(names[i] != null){if(names[i].equals(name)){find = true;break;}i++;}return find;}public static void main(String []args){Scanner input = new Scanner(System.in);B2 xx=new B2();do{System.out.print("请输入学生的姓名:");String name=input.next();xx.show(name);System.out.println("继续输入吗?(y/n)");xx.answer =input.next();}while("y".equals(xx.answer));xx.show1();System.out.println(" ");System.out.print("请输入要查找的学生姓名:");String findname=input.next();System.out.println("******查找结果******");if(xx. findCustomer(findname)){System.out.print("找到了!");}else{System.out.print("查无此人!");}}}。
学生信息管理系统java详细设计 -回复
学生信息管理系统java详细设计-回复学生信息管理系统是一种用于管理学生信息的软件系统,它能够快速准确地记录学生的个人信息、学习成绩、考勤情况等内容,方便学校、教师和家长对学生的管理和了解。
本文将从需求分析、系统设计、数据库设计和界面设计等方面详细介绍学生信息管理系统的Java实现。
一、需求分析在开发学生信息管理系统之前,我们首先需要明确系统的功能需求。
一般而言,学生信息管理系统需要包括学生基本信息的录入、查询、修改和删除功能,学生成绩的录入、查询和统计功能,以及学生考勤信息的录入、查询和统计功能等。
基于这些需求,我们可以设计如下的系统架构:1. 学生管理模块:包括学生信息的录入、查询、修改和删除功能。
2. 成绩管理模块:包括成绩的录入、查询和统计功能。
3. 考勤管理模块:包括考勤信息的录入、查询和统计功能。
4. 登录模块:用于用户的登录验证,以确保只有授权用户才能使用系统的功能。
二、系统设计在系统设计阶段,我们需要确定系统的具体功能模块、模块间的关联关系以及数据的流向。
1. 学生管理模块:该模块负责学生信息的录入、查询、修改和删除功能。
在该模块中,我们需要设计学生信息的数据结构,并封装相应的操作方法,如addStudent()、getStudent()、updateStudent()和deleteStudent()等。
2. 成绩管理模块:该模块负责学生成绩的录入、查询和统计功能。
在该模块中,我们需要设计成绩信息的数据结构,并封装相应的操作方法,如addScore()、getScore()和calculateScore()等。
此外,还需要设计一些报表功能,以便进行成绩的统计和分析。
3. 考勤管理模块:该模块负责考勤信息的录入、查询和统计功能。
在该模块中,我们需要设计考勤信息的数据结构,并封装相应的操作方法,如addAttendance()、getAttendance()和calculateAttendance()等。
简单学生信息管理系统java课程设计报告
-- .数据库课程设计-简单学生信息管理系统- - 考试学院:计算机科学学院专业:软件工程02学号::李欢欢目录1设计目的 (3)2设计任务 (4)2.1任务说明 (4)2.2系统目标 (4)2.2使用范围 (4)2.3功能要求 (5)3 设计内容 (5)3.1界面构建 (5)3.2详细设计 (6)3.2.1模块设计 (6)3.2.2数据库设计 (6)3.2.3运行调试 (7)3.2.4主要源代码 (9)5总结与展望 (16)参考文献 (18)1 设计目的本程序用于用户对少量学生信息进展简单的管理,本程序针对于对平安系数要求不高,操作不是很复杂的小型客户开发。
本程序可以实现对学生信息的添加、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。
同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低该数据库可实现关系较为简单的数据管理。
2 设计任务2.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项根本功能。
要求如下:〔1〕具有简单的录入,查询和修改功能。
〔2〕修改学生信息必须输入学号,然后对姓名、性别和专业等修改;〔3〕使用文件存储数据。
〔也可用数据库〕〔4〕学生个人信息必须包括:学号、、性别、籍贯、系别。
2.2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况。
如用户对学生根本信息进展录入、查询、修改、删除等。
2.2使用范围本系统仅针对用户对少量学生进展信息管理。
2.3功能要求1录入学生根本信息的功能2查询学生根本信息的功能3修改学生根本信息的功能4删除学生根本信息的功能5显示所有学生信息的功能3 设计内容3.1界面构建1、为了便于各种操作,软件采用多窗口的模式。
用户可在不同窗口进展相应操作〔录入、查询、修改、删除、显示所有学生省信息〕。
2、主窗口是用户进展各种操作的平台,具体操作在各个独立功能窗口中完成。
JAVA程序设计报告学生信息管理系统
JAVA程序设计报告学生信息管理系统学生信息管理系统是一种用来管理学生个人信息的软件系统。
该系统能帮助学校或教育机构高效地管理学生信息,包括个人信息、课程成绩、出勤情况等。
本报告将介绍一个基于JAVA的学生信息管理系统的设计和实现。
一、系统需求分析学生信息管理系统主要应具备以下功能:1.学生信息的录入和修改:管理员可以通过系统录入学生的基本信息,如学号、姓名、性别、年龄等,并可以修改学生信息。
2.学生信息的查询和浏览:用户可以通过系统按照学号或姓名查询学生信息,并浏览所有学生的信息。
3.成绩管理:系统可以记录、查询和统计学生的课程成绩。
管理员可以录入学生的课程成绩,并可以查询学生的成绩,并可以按照成绩进行排序和统计分析。
4.出勤管理:系统可以记录学生的出勤情况,包括请假、迟到、旷课等。
管理员可以录入学生的出勤情况,并可以查询学生的出勤记录。
二、系统设计与实现1.数据库设计系统使用MySQL数据库,设计了两个表,分别是学生信息表(student_info)和成绩表(score_info)。
学生信息表包含学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段,成绩表包含学号(student_id)、课程名称(course_name)、成绩(score)等字段。
2.界面设计系统的界面采用图形化界面,使用JAVA Swing框架设计。
主要包括登录界面、学生信息管理界面、成绩管理界面和出勤管理界面。
3.功能实现系统使用JAVA编程语言进行实现。
通过使用JDBC连接数据库,并使用SQL语句实现学生信息的录入、查询和修改,以及成绩和出勤管理功能。
系统还进行了输入验证,确保输入的数据符合规定的格式。
4.测试与优化在系统开发完成后,需要进行系统的测试和优化。
通过对系统进行功能测试,验证系统的各项功能是否正常运行。
根据测试结果,对系统进行优化,提高系统的性能和用户体验。
三、总结与展望本报告介绍了一个基于JAVA的学生信息管理系统的设计和实现。
身份证信息管理简单版
实验报告课程名称:java程序设计题目:java 实验课程报告院(系):信息与控制工程专业班级:计算机1202姓名:甘罕学号:120620228指导教师:张翔2014年12 月17 月一实验目的:使用Eclipse制作简易计算器二实验源码:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator {public static void main(String[] args){ EventQueue.invokeLater(new Runnable(){ public void run(){ CalculatorFrame frame = new CalculatorFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true); }});}}class CalculatorFrame extends JFrame {private static final long serialVersionUID = 1L;public CalculatorFrame(){ setTitle("Calculator");CalculatorPanal panel = new CalculatorPanal();add(panel);pack(); }}class CalculatorPanal extends JPanel {private static final long serialVersionUID = 1L;public CalculatorPanal(){setLayout(new BorderLayout());result =0;lastCommand = "=";start = true;display = new JButton("0");display.setEnabled(false);add(display,BorderLayout.NORTH);ActionListener insert= new InsertAction();ActionListener command=new CommantAction();panel = new JPanel();panel.setLayout(new GridLayout(4,4));addButton("7",insert);addButton("8",insert);addButton("9",insert);addButton("/",command);addButton("4",insert);addButton("5",insert);addButton("6",insert);addButton("*",command);addButton("1",insert);addButton("2",insert);addButton("3",insert);addButton("-",command);addButton("0",insert);addButton(".",insert);addButton("=",command);addButton("+",command);add(panel,BorderLayout.CENTER); }private void addButton(String label,ActionListener listener) { JButton button = new JButton(label);button.addActionListener(listener);panel.add(button); }private class InsertAction implements ActionListener { public void actionPerformed(ActionEvent event){ String input = event.getActionCommand();if(start){ display.setText("");start= false; }display.setText(display.getText()+input); }}private class CommantAction implements ActionListener {public void actionPerformed(ActionEvent event){ String command = event.getActionCommand();if(start){if(command.equals("-")){ display.setText(command);start= false; }else lastCommand = command; }else { calculate(Double.parseDouble(display.getText())); lastCommand =command; start =true; }}}public void calculate(double x){if(lastCommand.equals("+")) result +=x;else if(lastCommand.equals("-")) result -=x;else if(lastCommand.equals("*")) result *=x;else if(lastCommand.equals("/")) result /=x;else if(lastCommand.equals("=")) result =x;display.setText(""+result); }private JButton display; private JPanel panel;private double result;private String lastCommand;private boolean start;}如图实现3+6=9三实验总结:本程序为JA V A中简单的计算器,主要实现简单的数学计算,删除,复位等功能。
身份证信息查询系统
身份证信息查询系统
身份证号码是一个人最为核心的身份信息,同时也是证
明个人真实身份和身份标识的唯一凭证。
为了更好地确认个人身份信息的真实性和准确性,身份证信息查询系统应运而生。
身份证信息查询系统是一种快速、准确并且安全的身份
证信息查询方式。
它通过查询国家政府数据库中的信息,以及与银行、公安、税务等部门建立连接,实现身份证信息的全面查询和验证功能。
身份证信息查询系统的使用范围非常广泛,可应用于各
种场合。
例如,银行机构可以通过系统查询客户的身份证信息,以便核实客户的身份和信息的真实性;公安机关可以通过系统查询犯罪嫌疑人的身份信息,以便确定犯罪嫌疑人的真实身份;企事业单位可以通过系统查询员工的身份证信息,以便确认员工身份和信息的真实性。
身份证信息查询系统采用高效的信息查询技术和安全的
数据加密技术,具有查询速度快、准确性高、安全性好等优点。
对于信息的保密性方面,系统采用了严格的访问控制机制和加密系统,确保了查询结果的安全性和保密性。
在正式使用身份证信息查询系统前,我们需要提供一些
必要的信息。
首先是身份证号码,它是进行身份证信息查询的唯一标识符;其次,我们还需要提供一些必要的身份信息,例如:姓名、性别、出生日期等。
在系统自动查询和核实完成后,我们可以得到一个完整、准确的身份证信息报告。
总之,身份证信息查询系统是一种实现身份证查询的快
速、准确、安全、方便的方式。
它不仅减少了人工查询的时间和工作量,也为我们提供了一个方便、快捷、高效、安全的身份证信息查询方式。
虽然目前身份证信息查询系统的应用已较为广泛,但在使用时我们仍应注意保护个人隐私并且注意个人信息的安全。
java课程设计学生信息管理系统
Java课程设计:学生信息管理系统1. 引言学生信息管理系统是一种用于学校、教育机构或大型组织管理学生信息的工具。
该系统允许教育工作者记录和查看学生的个人和学术信息,使管理和查询学生信息更加方便和高效。
本文将介绍一个基于Java语言实现的学生信息管理系统的设计和开发。
该系统将使用面向对象的编程思想,以及Java提供的各种特性和工具来实现学生信息的录入、查询和管理。
2. 功能需求学生信息管理系统应具备以下基本功能:•学生信息录入:系统允许教育工作者输入学生的基本信息,例如姓名、学号、性别、出生日期等。
这些信息应该被保存在系统的数据库或文件中供后续查询和管理。
•学籍信息管理:系统应可以记录学生的学籍信息,例如班级、专业、入学日期等。
同时,系统还应提供学籍信息的查询和修改功能。
•成绩管理:系统应允许输入和管理学生的成绩信息,包括各科成绩和学期综合成绩。
教育工作者可以通过输入学生的学号查询该学生的成绩信息。
•学生信息查询:系统应允许根据学生的学号或姓名查询学生的个人信息,学籍信息和成绩信息。
•学生信息统计:系统应提供学生信息的统计功能,例如统计学生总人数、男女比例、各专业学生人数等。
•用户权限管理:系统应具备用户权限管理功能,不同的用户可以具有不同的操作权限。
例如,管理员可以执行所有操作,而教师只能查询和管理自己所教授班级的学生信息。
3. 系统设计学生信息管理系统可以分为三层架构:表示层、业务逻辑层和数据访问层。
•表示层:表示层负责用户界面的展示和用户输入的处理。
用户可以通过表示层与系统进行交互。
•业务逻辑层:业务逻辑层负责系统的业务逻辑处理,包括对输入数据的校验和逻辑判断。
它处理来自表示层的请求,并调用数据访问层来获取数据。
•数据访问层:数据访问层负责与数据库或文件进行交互,执行数据的增删改查操作,并将结果返回给业务逻辑层。
4. 技术选择为了实现学生信息管理系统,我们选择以下技术:•Java语言:Java是一种广泛应用于企业级应用开发的编程语言,具有强大的面向对象特性和丰富的生态系统。
基于JAVA的身份证信息查询api调用代码实例
基于JAVA的身份证信息查询api调用代码实例代码描述:基于JA V A的身份证信息查询api调用代码实例关联数据:身份证查询接口平台:聚合数据import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;/***身份证查询调用示例代码-聚合数据*在线接口文档:/docs/38**/public class JuheDemo {public static final String DEF_CHATSET = "UTF-8";public static final int DEF_CONN_TIMEOUT = 30000;public static final int DEF_READ_TIMEOUT = 30000;public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) Appl eWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";//配置您申请的KEYpublic static final String APPKEY ="*************************";//1.身份证信息查询public static void getRequest1(){String result =null;String url ="/idcard/index";//请求接口地址Map params = new HashMap();//请求参数params.put("cardno","");//身份证号码params.put("dtype","");//返回数据格式:json或xml,默认jsonparams.put("key",APPKEY);//你申请的keytry{result =net(url, params, "GET");JSONObject object = JSONObject.fromObject(result);if(object.getInt("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object. get("reason"));}} catch(Exception e) {e.printStackTrace();}}//2.身份证泄漏查询public static void getRequest2(){String result =null;String url ="/idcard/leak";//请求接口地址Map params = new HashMap();//请求参数params.put("cardno","");//身份证号码params.put("dtype","");//返回数据格式:json或xml,默认jsonparams.put("key",APPKEY);//你申请的keytry{result =net(url, params, "GET");JSONObject object = JSONObject.fromObject(result);if(object.getInt("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object. get("reason"));}} catch(Exception e) {e.printStackTrace();}}//3.身份证挂失查询public static void getRequest3(){String result =null;String url ="/idcard/loss";//请求接口地址Map params = new HashMap();//请求参数params.put("cardno","");//身份证号码params.put("dtype","");//返回数据格式:json或xml,默认jsonparams.put("key",APPKEY);//你申请的keytry{result =net(url, params, "GET");JSONObject object = JSONObject.fromObject(result);if(object.getInt("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object. get("reason"));}} catch(Exception e) {e.printStackTrace();}}public static void main(String[] args) {}/**** @param strUrl 请求地址* @param params 请求参数* @param method 请求方法* @return 网络请求字符串* @throws Exception*/public static String net(String strUrl, Map params,String method) th rows Exception {HttpURLConnection conn = null;BufferedReader reader = null;String rs = null;try{StringBuffer sb = new StringBuffer();if(method==null|| method.equals("GET")){strUrl = strUrl+"?"+urlencode(params);}URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method==null|| method.equals("GET")){conn.setRequestMethod("GET");}else{conn.setRequestMethod("POST");conn.setDoOutput(true);}conn.setRequestProperty("User-agent", userAgent);conn.setUseCaches(false);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if(params!= null&& method.equals("POST")) {try{DataOutputStream out = new DataOutputStream(conn.get OutputStream());out.writeBytes(urlencode(params));} catch(Exception e) {// TODO: handle exception}}InputStream is = conn.getInputStream();reader = new BufferedReader(new InputStreamReader(is, DEF_CH ATSET));String strRead = null;while((strRead = reader.readLine()) != null) {sb.append(strRead);}rs = sb.toString();} catch(IOException e) {e.printStackTrace();} finally{if(reader != null) {reader.close();}if(conn != null) {conn.disconnect();}}return rs;}//将map型转为请求参数型public static String urlencode(Map<String,Object>data) {StringBuilder sb = new StringBuilder();for(Map.Entry i : data.entrySet()) {try{sb.append(i.getKey()).append("=").append(URLEncoder.enc ode(i.getValue()+"","UTF-8")).append("&");} catch(UnsupportedEncodingException e) {e.printStackTrace();}}return sb.toString();}}。
JAVA编写的学生基本信息系统
JAVA编写的学生基本信息系统"学生基本信息管理系统"运行说明:1.运行系统2.输入管理员姓名和密码,点击"进入"按钮,进行步骤3。
若输入的姓名或密码不正确,则弹出提示对话框,提示"姓名输入错误或密码输入错误!"3.进入操作界面(1>若选择了"菜单选项"下的"录入学生基本信息",则进入录入界面:输入要录入的学号,姓名,选择性别、专业、年级、出生日期。
若学号字段为空,则弹出提示对话框提示"学号字段不能为空!",若其它字段为空则弹出对话框提示"选项不能为空!"。
在正确的输入下点击"录入"按钮,弹出提示对话框提示"录入成功".若要继续录入点击"重置"按钮.(2>若选择了"菜单选项"下的"修改学生基本信息",则进入修改界面:输入要修改的学号,点击"开始修改"按钮,在下面的选项中会显示待修改的学生的基本信息,此时依次进行修改,修改完成后,点击"录入修改",弹出对话框提示"修改成功!"。
若学号输入为空,则弹出对话框提示"学号字段不能为空!"。
若输入的学号没有在库中,则弹出对话框提示"该学号不存在!请确认后再输入!"。
(3>若选择了"菜单选项"下的"查询学生基本信息",则进入查询界面:输入要查询的学号,点击"查询"按钮,该学生的基本信息就会在下面的相应项中显示出来。
若输入学号为空则弹出对话框提示"学号字段不能为空!"。
若输入的学号不存在则弹出对话框提示"该学号不存在!请确认后再输入!"。
高级语言程序设计(C#)项目七 公民身份证号码生成与查询2
if(!isParityValid(sTemp))
{
MessageBox.Show("输入的身份证号码验证码无效","请注意",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
lbCardInfo.Items.Insert(0,"身份证号:"+ sTemp);
if(!isSexValid(sTemp.Substring(14, 3)))
{
MessageBox.Show("输入的身份证号码性别顺序码无效","请注意",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
else
{
lbCardInfo.Items.Add("性别:"+ ((Convert.ToInt32(sTemp.Substring(14, 3)) % 2 == 0) ?"女":"男"));
break;
}
}
lbCardInfo.Items.Add("地区名称:"+ cadc.AdName.TrimStart());
iFlag =true;
break;
}
}
returniFlag;
}
2.验证出生日期的合法性,代码如下:
//验证出生日期的合法性
privateboolisBirthValid(strings)
{
if(cadc.AdCode == s)
{
stringst = s.Substring(0, 2);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州航空工业管理学院Java程序设计课程设计题目:身份证生成和查询系统学号:**********名:***指导老师:**2017 年06 月20日课程设计任务书摘要每个人从出生之后就会有身份证号码,随到达一定的年龄,我们需要去派出所办理属于自己的身份证,身份证也成居民身份证,是用于证明持有人身份的一种法定证件,它将作为每个人独一无二的公民身份的证明工具,本人所做的身份证号自动生成系统是根据输入的家庭住址和出生年日期,性别,通过这些自动生成,所以,第一个功能就是生成,当点击生成按钮后,在生成身份证号后同时将注册的个人信息保存在数据库中。
另一个功能就是查询,输入所产生的身份证号,点击查询按钮后,会将查询者的个人信息输出在界面上,十分快捷,方便。
本系统总共分为5章,第1章讲述了前言概括,第2章系统需求分析,第3章系统概要设计,第4章主要讲述了程序系统的详细实现界面,讲述了系统运行及其调示,第5章作为总结,主要写自己的心得体会及做课题当中所遇到的问题,及解决办法。
该系统编程语言使用Java语言,开发工具为My Eclipse,数据库采用mysql。
关键词:查询;唯一;快捷目录摘要 (2)第1章前言 (4)1.1设计目的 (4)1.2设计背景 (4)第2章需求分析 (5)2.1起源 (5)2.2趋势 (5)第3章系统设计 (6)3.1系统目标 (6)3.2系统功能结构 (6)3.3数据库设计 (7)第4章系统实现 (8)4.1主窗体设计 (8)4.2错误提示 (9)4.3生成界面 (9)4.4生成界面 (10)4.5重点部分代码 (11)第5章结束语 (13)参考文献 (13)第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 系统功能结构系统主要包括生成和查询两大功能3.3 数据库设计CREATE TABLE `per` (`name` varchar(30) NOT NULL,`sex` varchar(20) NOT NULL,`minzu` varchar(20) NOT NULL,`birthday` varchar(40) NOT NULL,`birthplace` varchar(60) NOT NULL,`id` varchar(60) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;字段名数据类型可否为空长度描述name 字符型NOT NULL 30 姓名sex 字符型NOT NULL 20 性别minzu 字符型NOT NULL 20 民族birthday 字符型NOT NULL 40 出生日期birthplace 字符型NOT NULL 60 出生地址id 字符型NOT NULL 60 身份证号通过Navicat for MySQL工具查看所创建的表格,截屏如下第4章系统实现本节对系统设计的主要功能的实现进行分析和说明,并给出系统的主要运行界面。
4.1 主窗体设计主窗体界面也是唯一的界面,是生成和查询共用的一个界面首先布置界面,添加文本框,按钮,下拉框,通过setBounds()方法进行布局,将各个组件进行位置的固定,将下拉框中的按钮各项添加在数组中,使用add()方法,例如在出生地址中,首先选择省,其次是市,每个省有多个市相对应,属于一对多的关系,将市所在的下拉框进行按钮事件监听,使用switch方法得到省的选项,再利用removeAllItems()方法将市的按钮选项移除,通过case()方法用户选择自己的省,再addItems()方法将省对应的市的数组添加上,年份和月份也是相同的原理。
效果图如下所示4.2 错误提示用户在使用过程中可能会忘记输入相对应的选项,有初始化界面可以得知:性别选项默认为男,用户在进行输入时,可以根据自己的真实情况填写,还有考虑到我国汉族人民最多,所以在民族选项中,默认为汉族,如果用户漏掉一些选项,使用JOptionPane.showMessageDialog(),在生成按钮事件监听中添加该方法。
效果图如下所示4.3 生成界面利用hashMap类创建对象,利用类的方法put(),和循环结构将每个省市赋上对应的数字,一个身份证号还包括自己的出生年月,三位数的随机数,再根据所选的性别,男产生一位偶数,女产生一位奇数,使用Random()方法随机产生。
如图所示,将我的个人信息输入,在输入的同时,一,产生随机产生的身份证号,二再将产生的个人信息存入数据库中,以备用户查询使用。
效果图如下所示4.4 生成界面将上一节输入的个人信息中,我们得到了我的身份证号,再通过输入身份证号,点击查询按钮,可以在文本框区域显示刚才输入的个人信息。
4.5 重点部分代码该代码是按钮事件的监听。
使用getSelectedItem()方法得到选项,再转化为字符串形式。
public void actionPerformed(ActionEvent e) {String str10;String je = txt1.getText();// 得到的姓名的值// System.out.println(je);String je1 = (String) jr.getSelectedItem();// 得到的性别的值String je2 = (String) jt.getSelectedItem();// 得到的民族的值if(je1=="男"){int arr[] = {0,2,4,6,8};//定义一个数组int len = arr.length;//获取数组长度给变量lenRandom random = new Random();//创建随机对象int arrIdx = random.nextInt(len-1);//随机数组索引,nextInt(len-1)表示随机整数[0,(len-1)]之间的值int num = arr[arrIdx];//获取数组值str10 = String.valueOf(num);//数字转换为字符串System.out.println("男:"+str10);}else{int arr[] = {1,3,5,7,9};//定义一个数组int len = arr.length;//获取数组长度给变量lenRandom random = new Random();//创建随机对象int arrIdx = random.nextInt(len-1);//随机数组索引,nextInt(len-1)表示随机整数[0,(len-1)]之间的值int num = arr[arrIdx];//获取数组值str10 = String.valueOf(num);//数字转换为字符串System.out.println("女:"+str10);}int ind = jc.getSelectedIndex();Object v = hm.get(pro[ind]);String str2 = (String) jc2.getSelectedItem();// 得到的出生年的值String str3 = (String) jc3.getSelectedItem();// 得到的出生月的值String str4 = (String) jc4.getSelectedItem();// 得到的出生日的值String str6 = (String) jc.getSelectedItem(); // 得到的省的值String str7 = (String) jc1.getSelectedItem();// 得到的市的值String asd = (String) jc1.getSelectedItem();Object v1 = hm1.get(asd);long Temp=Math.round(Math.random()*899+100);String str9 =Long.toString(Temp);String strq = String.valueOf(v);String strq1 = String.valueOf(v1);String birthday = str2 + str3 + str4;String birthplace = str6 + str7;String wan = strq + strq1 + str2 + str3 + str4 + str9+str10;// 得到的身份证号的值第5章结束语由于时间紧张,忙于其他课程设计,经过一个星期的努力,查询API各种类的功能,我的身份证生成和查询系统终于做完了,在这个系统中,由于之前的需求分析,功能分析没有充足的准备,所以在做的过程中走了不少弯路,比如对代码反复修改,算是浪费不少时间,不过也可以把这次当做一次教训。