‘壹’ java校验身份证号码,解析出生日期,年龄,身份证是否有效
这种我能想到的就是校验身份证字符串的位数,写个正则表达式校验前面的17位为数字,通过了截取第七位到第15位,为出生日期,年龄也差不多,取系统时间年份与出生年减一下
‘贰’ Java 输入一个身份证号(18位),判断其是否是润年出生。 提示:使用sub
String id = "123456200801010000";
int year = Integer.parseInt(id.substring(6,10));
System.out.println(year);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
System.out.println("是闰年");
}
else {
System.out.println("不是闰年");
}
我写死了身份证 你可以写成静态方法传参进去,找到身份证中年份对应的角标就行了
‘叁’ 用java求出身份证上的出生年月日,年龄以及户口所在地,就是使用二维数组求的户口出了问题。。
1、不论是一维数组还是二维数组,数组的下标都是以“0”开始的,不是从1开始。
2、变量声明创建可以在类中操作,创建时可以赋初始值,但变量创建后,赋值须在方法中进行。
改成下面代码:
class IDcard{
String year = new String();
String month = new String();
String day = new String();
String province, pro = new String();
int x, age;
String[][] a = new String[34][2];
IDcard(){
setArrayValues(a); //初始化数组值
System.out.println("请输入身份证号码");
Scanner sc = new Scanner(System.in);
String s = sc.next();
year = s.substring(6, 10);
month = s.substring(10, 12);
day = s.substring(12, 14);
System.out.println("出生日期");
System.out.println(year + "年" + month + "月" + day + "日");
x = Integer.parseInt(year);
age = 2013 - x;
System.out.println("年龄:" + age);
System.out.println("户口地");
pro = s.substring(0, 2);
for (int i = 0; i < 34; i++) {
if (pro.equals(a[i][0])) { //数组中第一个元素下标从“0”开始
System.out.println(a[i][1]); //取第二个元素
break;
}
}
}
/**
* 初始化数组值
* @param a
*/ private void setArrayValues(String[][] a) {
a[0][0] = "11"; a[0][1] = "北京"; //数组中第一个元素下标从“0”开始
a[1][0] = "82"; a[1][1] = "澳门";
a[2][0] = "12"; a[2][1] = "天津";
a[3][0] = "13"; a[3][1] = "河北";
a[4][0] = "14"; a[4][1] = "山西";
a[5][0] = "15"; a[5][1] = "内蒙古";
a[6][0] = "21"; a[6][1] = "辽宁";
a[7][0] = "22"; a[7][1] = "吉林";
a[8][0] = "23"; a[8][1] = "黑龙江";
a[9][0] = "31"; a[9][1] = "上海";
a[10][0] = "32"; a[10][1] = "江苏";
a[11][0] = "33"; a[11][1] = "浙江";
a[12][0] = "34"; a[12][1] = "安徽";
a[13][0] = "35"; a[13][1] = "福建";
a[14][0] = "36"; a[14][1] = "江西";
a[15][0] = "37"; a[15][1] = "山东";
a[16][0] = "41"; a[16][1] = "河南";
a[17][0] = "42"; a[17][1] = "湖北";
a[18][0] = "43"; a[18][1] = "湖南";
a[19][0] = "44"; a[19][1] = "广东";
a[20][0] = "45"; a[20][1] = "广西";
a[21][0] = "46"; a[21][1] = "海南";
a[22][0] = "50"; a[22][1] = "重庆";
a[23][0] = "51"; a[23][1] = "四川";
a[24][0] = "52"; a[24][1] = "贵州";
a[25][0] = "53"; a[25][1] = "云南";
a[26][0] = "54"; a[26][1] = "西藏";
a[27][0] = "61"; a[27][1] = "陕西";
a[28][0] = "62"; a[28][1] = "甘肃";
a[29][0] = "63"; a[29][1] = "青海";
a[30][0] = "64"; a[30][1] = "宁夏";
a[31][0] = "65"; a[31][1] = "新疆";
a[32][0] = "71"; a[32][1] = "台湾";
a[33][0] = "81"; a[33][1] = "香港";
}
}
‘肆’ Java键盘输入姓名,年龄,身份证号,怎么判断输入的是正确的字符串,字符,数字
从控制台接收一个字符,然后将其打印出来
publicstaticvoidmain(String[]args)throwsIOException{
System.out.print(“EnteraChar:”);
chari=(char)System.in.read();
System.out.println(“yourcharis:”+i);
}
}
从键盘输入其它类型数据:
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println(“请输入你的姓名:”);
Stringname=sc.nextLine();//字符串
System.out.println(“请输入你的年龄:”);
intage=sc.nextInt();//整数
System.out.println(“请输入你的工资:”);
floatsalary=sc.nextFloat();//浮点数
System.out.println(“你的信息如下:”);
System.out.println(“姓名:”+name+“ ”+“年龄:”+age+“ ”+“工资:”+salary);
}
‘伍’ java输入身份证(18位),输出年龄。
public static void main(String[] sg0) {
String s = "350424198705062023";
int leh = s.length();
System.out.println(s.length());
if (leh != 18 && leh != 15) {
System.out.println("NO");
}
else {
if (leh == 18) {
int se = Integer.valueOf(s.substring(leh - 1)) % 2;
String dates = s.substring(6, 10) + "-" + s.substring(10, 12) + "-" + s.substring(12, 14);
System.out.println(dates);
String sex = "";
if (leh == 0) {
sex = "M";
}
else {
sex = "F";
}
System.out.println(sex + "\t" + dates);
}
else {
String dates = "19" + s.substring(6, 8) + "-" + s.substring(8, 10) + "-" + s.substring(10, 12);
System.out.println(dates);
}
}
}
‘陆’ java程序设计输入身份证号码判断地区年龄性别。求完整的程序~~呜呜,在线等、
首先要在数据库里建两个表,是号码与年龄还有地区的对照表,然后在写一段截取数字的代码和查询的代码就可以拉~~不难的
‘柒’ 专科软件系,专业.net.自学java。身份证年龄25(实际22)有必要升本吗自行能升
当然有必要,虽然现在这个行业很多不怎么看学历,但你要是进入大一点的企业,还是会有硬性要求的。
‘捌’ java输入身份证如何输出年龄
刚写出来,其实就是字符串的截取。
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