当前位置:首页 » 编程语言 » java18

java18

发布时间: 2022-01-10 07:21:40

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

热点内容
java配置mysql 发布:2024-09-20 21:32:44 浏览:757
phpapache伪静态 发布:2024-09-20 20:54:45 浏览:588
新浪云缓存 发布:2024-09-20 20:53:45 浏览:286
怎么上传学历 发布:2024-09-20 20:53:42 浏览:848
华为至尊平板电脑是什么配置 发布:2024-09-20 20:47:47 浏览:293
shell脚本字符串查找 发布:2024-09-20 20:47:44 浏览:274
如何在服务器上搭建linux系统 发布:2024-09-20 20:43:32 浏览:386
上传汽车保单 发布:2024-09-20 20:30:46 浏览:436
樱花服务器测试ip 发布:2024-09-20 20:10:39 浏览:280
炉石传说安卓怎么玩 发布:2024-09-20 20:09:59 浏览:313