java 编程
输入一个身份证号码(15位和18位)和一个年份,计算现在的年龄(忽略非法参数)实在没分了求大神解决下谢谢了输入:6106181990010200652011输出:21...
输入一个身份证号码(15位和18位)和一个年份,计算现在的年龄(忽略非法参数) 实在没分了 求大神解决下 谢谢了
输入:610618199001020065 2011
输出:21 展开
输入:610618199001020065 2011
输出:21 展开
2个回答
展开全部
我是以19来寻找的,毕竟现在人的出生大部分20 世纪的,当然楼主也能拓展!
import java.util.Scanner;
public class ShenFen {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Object o;
boolean flag=true;
System.out.print("请输入身份证号:");
String s =input.next();
char []temp=s.toCharArray();
char []temp1 = new char[4];
int s2=0;
System.arraycopy(temp, s.indexOf("19"), temp1, 0, 4);
String temp2="";
for(char i:temp1){
temp2+=i;
}
int s1=Integer.parseInt(temp2);
while(flag){
System.out.print("请输入一个年份:");
if(input.hasNextInt()){
s2=input.nextInt();
flag=false;
}else{
System.out.println("输入错误,请重新输入");
o=input.next();
flag=true;
}
}
System.out.println("年龄:"+(s2-s1));
input.close();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |