⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.txt

📁 利用键盘来设置直流稳压电源的输出电压
💻 TXT
字号:


身份证号码转换


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.String;

public class Test extends JApplet
{
    public void init()
    {
        Container cp=getContentPane();
        cp.add(new MyPanel());
    }
}
class MyPanel extends JPanel
{
    public MyPanel()
    {
        setLayout(new BorderLayout());
        pan3=new JPanel();
        pan2=new JPanel();
        pan4=new JPanel();
        pan1=new JPanel();
        lbltitle=new JLabel("身份证号码15位到18位转换",SwingConstants.CENTER);
        lblold=new JLabel("15位身份证号:");
        lblnow=new JLabel("18位身份证号:");
        lblb=new JLabel("出生日期:");
        lbls=new JLabel("性别:");
        lblbirth=new JLabel();
        lblsex=new JLabel();
        lblcom=new JLabel("请输入..",SwingConstants.CENTER);
        txtold=new JTextField(20);
        lblsin=new JLabel();
        btnok=new JButton("转换");
        btninput=new JButton("重新输入");

        pan1.setLayout(new GridLayout(4,2));
        pan2.setLayout(new GridLayout(2,1));
        pan3.add(lbltitle);
    
        pan1.add(lblold);pan1.add(txtold);pan1.add(lblnow);pan1.add(lblsin);
        pan1.add(lblb);pan1.add(lblbirth);pan1.add(lbls);pan1.add(lblsex);
        pan1.setBackground(Color.lightGray);

        pan4.add(btnok);pan4.add(btninput);
                
        pan2.add(lblcom);
        pan2.add(pan4);
        pan2.setBackground(Color.lightGray);
        pan1.setBackground(Color.lightGray);
        add(pan3,BorderLayout.NORTH);
        add(pan1,BorderLayout.CENTER);
        add(pan2,BorderLayout.SOUTH);
        btnok.addActionListener(new MyActionListener());
        btninput.addActionListener(new MyActionListener());
    }
    private class MyActionListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            if(e.getActionCommand()==btnok.getText())
            {
                if( check()==true)
                {
                    convert();
                    lblcom.setText("转换成功");
                }
            }
            else
                  again();
        }
        public boolean check()//验证函数
        {
            String str=txtold.getText();
            int i;
            if(str.length()!=15)//判断位数是否为15位
            {
                lblcom.setText("请输入15位有效的身份证号!");
                return false;
            }
            for(int j=0;j<str.length();j++)
            {
                i=str.charAt(j);
                if(i<48 || i>57)
                {
                    lblcom.setText("输入的号码含有非法字符!");
                    return false;
                }
            }
            return true;
        }
        public void convert()//转换函数
        {
            String birthstr,sexstr,strseven,str,strnew;
            birthstr=new String();sexstr=new String();strseven=new String();
            int[] code=new int ;
            int[] num={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7};
            int sum=0,r=0;
            str=txtold.getText();
            strseven=str;
            sexstr=str;
            birthstr="19"+str.substring(6,12);
            System.out.println(birthstr);
            str=strseven.substring(0,6)+birthstr+sexstr.substring(12,15);
            String year,month,day,tempstr;
            year=birthstr;month=birthstr;day=birthstr;
            year=year.substring(0,4);month=month.substring(4,6);day=day.substring(6,8);
            int x,y,z;
            x=Integer.parseInt(year);y=Integer.parseInt(month);z=Integer.parseInt(day);
            lblbirth.setText(x+"年"+y+"月"+z+"日");
            if(x<1900 || x>2000 || y<1 || y>12 || z<1 || z>31)//判断是否为有效的生日
            {
                lblcom.setText("你输入的身份证号的出生日期位错误!");
                return;
            }
            Integer n;
            for(int i=0;i<str.length();i++)
            {
                n=new Integer(str.charAt(i)+"");
                code[i]=n.intValue();
                sum=sum+code[i]*num[16-i];
            }        
            if(code %2==0)
                lblsex.setText(code +"女");
            else
                lblsex.setText(code +"男");
            r=sum%11;
            System.out.println(r+"");
            c

har t;
            switch(r)
            {
                case 0:
                    t='1';
                    break;
                case 1:
                    t='0';
                    break;
                case 2:
                    t='X';
                    break;
                default:
                    t=(char)(48+12-r);
                    
                    break;
            }
            System.out.println(t+"");
            strnew=str+t;
            lblsin.setText(strnew);
        }
        public void again()//重新输入函数
        {
            txtold.setText("");
            lblsin.setText("");
            lblbirth.setText("");
            lblsex.setText("");
            lblcom.setText("");
        }
    }
    private JLabel lbltitle,lblold,lblnow,lblb,lbls,lblbirth,lblsex,lblcom,lbl,lblsin;
    private JTextField txtold,txtnow;
    private JButton btnok,btninput;
    private JPanel pan1,pan2,pan3,pan4;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -