出现异常 ????
import java.io.*;
import java.lang.*;
public class ConvertId {
public static void main(String args[]){
String IdNumber=""; int index;
System.out.println("please input ID number: ");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
IdNumber = in.readLine();
index = Integer.parseInt(IdNumber);
}catch(IOException e) {}
catch(NumberFormatException e) {e.printStackTrace();}
if(IdNumber.length()==18) {
int s1 =Integer.parseInt(IdNumber.substring(6,10));
int s2 =Integer.parseInt(IdNumber.substring(10,12));
int s3 =Integer.parseInt(IdNumber.substring(12,14));
System.out.println("---------------------------------------------");
System.out.println("the birthday is "+s1+" year "+s2+" month "+s3+" day ");
int age =2011-s1;
System.out.println("the age is "+age);
if((int)IdNumber.charAt(17)%2==0)
System.out.println("the people ia a man");
else System.out.println("the people is a woman:");
}
if(IdNumber.length()==15){
String code;
int num = 0;
StringBuffer IdNumber1 = new StringBuffer(IdNumber);
IdNumber1.insert(6,"19");
//IdNumber = IdNumber.substring(0,5)+"19"+IdNumber.substring(6,14);
for(int i=17; i>=0; i--)
num+=(int)Math.pow(2,i-1)*(Integer.parseInt(IdNumber1.substring(i)));
num%=11;
switch(num) {
case 0: code = "1"; break;
case 1: code = "0"; break;
case 2: code = "X"; break;
default: code = 12-num+" "; break;
}
IdNumber1 =IdNumber1.append(code);
System.out.println(IdNumber1);
}
}
}