小弟是个学JAVA的新人,在做一题关于身份证号码转换题目的时候碰到了些小问题,请各位高人帮帮忙吧.
先谢谢了!
具体代码是这样的:
class test1
{
public static void main(String arr[])
{
String oldid="";
oldid JOptionPane.showImput Dialog(null,"输入旧身份证号");
String newid=oldid.substring(0,6)+"19"+oldid.substring(6);
int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7}
int sum=0;
for (int i=0;i<17;i++)
sum+=a[i]* int(newid.charAt(16-i))-(int)'0';
int r=sum%11;
string t="";
if (r==0)
t=1+"";
if(r==1)
t=0+"";
if (r==2)
t="x";
if(r>2)
t=(12-r)+"";
newid=newid+t;
System.out.println(newid); 

}
}提示错误是:
第6 9 11 行有错误
希望各位高人可以帮忙一下!

解决方案 »

  1.   

    oldid JOptionPane.showImput Dialog(null,"输入旧身份证号");->JOptionPane.showInputDialog(null,"输入旧身份证号");
    int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7}->int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7};sum+=a[i]* int(newid.charAt(16-i))-(int)'0';->sum+=a[i]* (int)(newid.charAt(16-i))-(int)'0';
    string t="";-> String t="";
      

  2.   

    import javax.swing.JOptionPane;
    class test1
    {
    public static void main(String arr[])
    {
    String oldid="";
    oldid =JOptionPane.showInputDialog(null,"输入旧身份证号");
    String newid=oldid.substring(0,6)+"19"+oldid.substring(6);
    int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7};
    int sum=0;
    for (int i=0;i<17;i++)
    sum+=a[i]* (int)(newid.charAt(16-i))-(int)'0';
    int r=sum%11;
    String t="";
    if (r==0)
    t=1+"";
    if(r==1)
    t=0+"";
    if (r==2)
    t="x";
    if(r>2)
    t=(12-r)+"";
    newid=newid+t;
    System.out.println(newid); 

    }
    }
      

  3.   

    oldid =JOptionPane.showInputDialog(null,"输入旧身份证号");//是Input 不是Imput
    int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7};//加分号
    string t="";//string 应为String
    int是基础类型不是对象 可以用 它的包装器类型 Integer
    for (int i=0;i<17;i++){
    int s=new Integer(newid.charAt(16-i)).intValue();
    sum+=a[i]* s-(int)'0';
    }
      

  4.   

    主要是一些书写上的错误.
    还有就是要引入个类.
    还有就是楼主的程序当输入身份证号位数不正确时,会有异常.自己看着改改吧.
    具体的错误位置请参考  anhy(鎏) ( ) 的贴子
      

  5.   

    晕,拷贝的代码都不仔细看看
    class test1
    {
    public static void main(String arr[])
    {
    String oldid="";
    JOptionPane.showInputDialog(null,"输入旧身份证号"); //error
    String newid=oldid.substring(0,6)+"19"+oldid.substring(6);
    int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7};    //error掉分号
    int sum=0;
    for (int i=0;i<17;i++)
    sum+=a[i]* ((int)(newid.charAt(16-i))-(int)'0'); //error掉括号
    int r=sum%11;
    string t="";
    if (r==0)
    t=1+"";
    if(r==1)
    t=0+"";
    if (r==2)
    t="x";
    if(r>2)
    t=(12-r)+"";
    newid=newid+t;
    System.out.println(newid); 

    }
    }
      

  6.   

    oldid = JOptionPane.showImput Dialog(null,"输入旧身份证号"); //=! =!!int a[]={2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7}; //;! ;!!sum += (a[i]* (int)(newid.charAt(16-i)-'0'));
      

  7.   

    oldid JOptionPane.showImput Dialog(null,"输入旧身份证号");imput改成input就行,这种问题在IDE里面很好检测的 。