java课程设计身份证生成和查询系统

合集下载

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身份证号码识别系统

【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课程设计

学生个人信息管理系统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学生信息管理系统实验报告

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实现二代身份证信息查询程序本文是在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编写一个简单的学生信息管理系统学生信息管理系统是一种应用程序,用于管理学生的基本信息,包括学生的姓名、年龄、性别、成绩等。

在本文中,将介绍如何使用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程序设计课程设计报告之学生信息管理系统(附全部源码)

计算机学院课程设计专业:计算机科学与技术课程名称: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课程设计身份证生成和查询系统

郑州航空工业管理学院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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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各种类的功能,我的身份证生成和查询系统终于做完了,在这个系统中,由于之前的需求分析,功能分析没有充足的准备,所以在做的过程中走了不少弯路,比如对代码反复修改,算是浪费不少时间,不过也可以把这次当做一次教训。

相关文档
最新文档