java18
⑴ java判断输入的18位数(最后一位可能是x)的身份证是否合法
package com.uttest;
import com.util.*;
import javax.swing.*;
import java.awt.event.*;
public class IDTestCase extends JFrame{
    JTextField txtIDNumber;
    JButton btnCheck;
    public IDTestCase(){
        super("检查身份证号");
        setBounds(0,0,400,60);
        setResizable(false);
        setLayout(new java.awt.FlowLayout());
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        txtIDNumber=new JTextField(18);
        add(txtIDNumber);
        btnCheck=new JButton("检查");
        btnCheck.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                JOptionPane.showMessageDialog(null,IDNumberChecker.isLegal(txtIDNumber.getText())?"合法":"非法","检查结果",JOptionPane.INFORMATION_MESSAGE);
            }
        });
        add(btnCheck);
        setVisible(true);
    }
    public static void main(String[] args){
        new IDTestCase();
    }
}
//IDNumberCheck.java
package com.util;
public class IDNumberChecker{
    public static boolean isLegal(String IDNumber){
        boolean result=IDNumber.matches("[0-9]{15}|[0-9]{17}[0-9X]");
        if(result){
            int year,month,date;
            if(IDNumber.length()==15){
                year=Integer.parseInt(IDNumber.substring(6,8));
                month=Integer.parseInt(IDNumber.substring(8,10));
                date=Integer.parseInt(IDNumber.substring(10,12));
            }
            else{
                year=Integer.parseInt(IDNumber.substring(6,10));
                month=Integer.parseInt(IDNumber.substring(10,12));
                date=Integer.parseInt(IDNumber.substring(12,14));
            }
            switch(month){
                case 2:result=(date>=1)&&(year%4==0?date<=29:date<=28);break;
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:result=(date>=1)&&(date<=31);break;
                case 4:
                case 6:
                case 9:
                case 11:result=(date>=1)&&(date<=31);break;
                default:result=false;break;
            }
        }
        return result;
    }
}
⑵ Java-18位身份证号的正则表达式。帮忙拆一下代码。
^	匹配字符串的开始
[1-9]	第1位:1-9
\d{5}	第2-6位:0-9
[1-9]	第7位:1-9
\d{3}	第8-10位:0-9
((0\d)|(1[0-2])):
	第11-12位:(00-09)或(10-12)
(([0|1|2]\d)|3[0-1])
	第13-14位:(00-29)或(30-31)
\d{3}	第15-17位:0-9
([0-9]|X)
	第18位:0-9或X
$	匹配字符串的结束
⑶ java表达式¨23 & 18''的值是
答案是23&18
如果是23&18那么是进行运算的.但是"23&18"加了一对引号,代表这是一个String字符串,所以直接输出23&18
⑷ java(tm)update18 是什么东西,可以删掉吗
是java的jre,你是用那个版本的jdk?现在都有java(tm)6 update26了
⑸ java培训,老师18上面有吗
Java的应用领域很广,毋庸置疑,同时不同的方向待遇也有不同的待遇。就市场大致的就业情况来看,方向很多,薪资也是从8K到20K不等。
如果想入行Java开发行业,却苦于自己没有基础,担心自己学不会,可以选择专业的学习。Java学习可以从基础开始,零基础学习并不可怕,一般4-6个左右的时间,只要你肯努力,一切都不是事。
⑹ 【Java】编写可以随意输入年龄,如果大于18岁则输出“你的年龄大于18岁!”如何才能无限次输入
修改的代码如下:
importjava.util.Scanner;
publicclassDemo02{
publicstaticvoidmain(String[]args){
Scannerreader=newScanner(System.in);
while(true){
intx=reader.nextInt();
if(x==0){
break;//输入0时结束
}elseif(x>=18){
System.out.println("你的年龄大于18岁");
}else{
System.out.println("你还小呢");
}
}
}
}
把输入的语句和判断的语句写在while循环里面 ,while的表达式为true,这样就能无限循环了。同时做一个判断,输入0时,跳出循环,程序结束。
⑺ Java如何得到一个18位的随机数
既然你能接受18为的数,那你可以用Math.random()*1000000000000000000得到。
如果说Math.random()不能精确到18位的话,当然我懒得去看,你自己试试到底能精确几位,比如只能精确到6位,那么如果随机数乘以1亿,得到的是前六位是随机的,你可以再做一个剩余几位的随机数加到前面那个随机数里面进去,这样得到的应该是个1亿内的随机数。
那你可以这么做,
Math.random*10000000000000000000+Math.random()*1000000000000+Math.random()*10000000;同理,其他任意位的数字可以得到。
⑻ java生成18位的唯一id
是数字、还是字母的
~
~
~
⑼ 用JAVA编写一个对18位身份证的输入验证程序.要求输入的18位数字或最后一位为x时,通过验证,否则不通过.
private static final String onlyNum = "^[0-9]*{1}“;  
/** 
* 验证身份证号码 
* @param id_number 
* @return 
*/  
public static Boolean checkNID(String id_number){  
Boolean isRight = false;  
if(id_number.length() != 15 && id_number.length() != 18){  
return false;  
}  
String string = id_number.substring(0, id_number.length() - 1);  
if(!string.matches(onlyNum)){  
return false;  
}  
if(id_number.length() == 15){  
return is15IDNumberRight(id_number);  
} else if(id_number.length() == 18){  
return is18IDNumberRight(id_number);  
}  
return isRight;  
}
⑽ java输入身份证(18位),输出年龄。
刚写出来,其实就是字符串的截取。
package com.swing;
import java.util.Calendar;
import java.util.Timer;
public class NianLing {
public static void main(String[] args) {
String s = "610400199011100000";
s = s.substring(6, s.length()-8);
System.out.println(s);
Calendar cal = Calendar.getInstance();
java.util.Date date = cal.getTime();
String s1 = date.toString();
String s2 = (String) s1.subSequence(s1.length()-4, s1.length());
System.out.println(date);
System.out.println(s2);
Integer int1 = Integer.parseInt(s);
Integer int2 = Integer.parseInt(s2);
Integer age = int2-int1;
System.out.println("age : " + age);
}
}
输出结果:age:22
1990
Fri Dec 14 23:26:52 CST 2012
2012
age : 22
