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);
}
}
}
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);
}
}
}
解决方案 »
- java程序中项word添加数据时,并设置某字符为上标或下标!(jacob)
- 几道常见的java测试题,有时间的可以来做做,试试自己水平?
- 为什么jBuilder有时会自动关闭?大哥们帮帮我呀~~~~
- 有关JAVA音频播放的问题,请教!
- 界面的编写(手敲的)重要吗 有了IDE后?
- 格式输出的问题
- 菜鸟提问 JDK和SDK一样吗??........................
- 如何才能在JTextField的值改变的时候修改它的值?
- 大虾们帮帮忙哟!!!!如何在窗口变大时,窗口中的表也跟着变大,与窗口有着原有的比例
- 请问用jdk里的函数如何从键盘输入字符串?
- 请教高手解析I/O流
- 如何修改HashMap中元素的值
String IdNumber=""; long index;
和
index = Long.parseLong(IdNumber);
java:48)
at java.lang.Integer.parseInt(Integer.java:467)
at java.lang.Integer.parseInt(Integer.java:496)
at Test.main(Test.java:48)
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
IdNumber = in.readLine();
// System.out.println(IdNumber);
//因为你读取到的一行数据后面是有空格的
//parseInt 无法将空格转化为数字
index = Integer.parseInt(IdNumber.trim());
}catch(IOException e) {
e.printStackTrace();
System.out.println("exceiptin is "+e);
}
还有就是你的index明明没有用到~你定义它干嘛呢?
java:48)
at java.lang.Integer.parseInt(Integer.java:467)
at java.lang.Integer.parseInt(Integer.java:496)
at Test.main(Test.java:48)
你的需求要15位和18位~~
还是3楼说的对~呵呵~
Exception in thread "main" java.lang.NumberFormatException: For input string: at java.lang.NumberFormatException.forInputString(NumberFormatExceptio
java:48)
at java.lang.Integer.parseInt(Integer.java:467)
at java.lang.Integer.parseInt(Integer.java:496)
at Test.main(Test.java:48)
求一点意见 新手~~~~~~~~