『壹』 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