* 定义一个方法,输入一个身份证号码(18)位,最终返回一个字符串,格式如下:“尊敬的男士(女士),您是****年**月**日出生的。”
* 要求:如果输入的身份证不是18位,或者格式不正确(包含非数字字符,除了最后一位的X除外)则返回一个字符串“您输入的身份证号码有误”
* */
import java.util.Scanner
public class JudgeID {
public static void main(String[] args){
Scanner reader = new Scanner(System.in)
System.out.println("请输入您的id号码")
String id = reader.next()
System.out.println(judgeID(id))
}
public static String judgeID(String IDNumber){
int len = IDNumber.length()
String wrongMsg = "您输入的身份证号有误"
String correctMsg = null
char lastChar = IDNumber.charAt(len-1)
String year = null
String month = null
String day = null
if(len != 18){
return wrongMsg
}
for(int i = 0i <len-1i++){
if(IDNumber.charAt(i) <'0' || IDNumber.charAt(i) >'9' ){
return wrongMsg
}
}
if(lastChar != 'X' &&lastChar >'0' &&lastChar <'9'){
return wrongMsg
}
//如果身份证格式是没有问题的,那个打印年月日信息
year = IDNumber.substring(6,10)
month = IDNumber.substring(10,12)
day = IDNumber.substring(12,14)
correctMsg = "您是"+year+"年"+month+"月"+day+"日出生!"
return correctMsg
}
}
使用java语言实现一个身份证号码转换的程序:把15位号码转换为18位的号码功能要求:1.判断输入身份证号位数是否正确,判断输入是否有效(如输入非数字字符),否则提示用户重新输入。2.计算身份证号码。
3.根据身份证号的第7-14位(YYYYMMDD)显示出生日期。4.根据身份证号的第17位(奇数为男性,偶数为女性),显示性别。