问题描述
importjava.util.*;publicclassStringPractise{publicstaticStringstr(){Scannerinput=newScanner(System.in);System.out.println("请输入数字串:");StringnumStr=input.next();returnnumStr;}//身份证验证publicstaticStringidentityCardId(){inttemp1=0;StringcardId=str();chartemp;intlen=cardId.length();if(len!=18)return"您输入的位数错误";else{for(inti=0;i<len-1;i++){temp=cardId.charAt(i);if(temp<48||temp>58)return"身份证第"+(i+1)+"中不能含有字符";}}temp1=Integer.parseInt(String.valueOf(cardId.charAt(len)));if(temp1!=120&&temp1!=88&&temp1<0&&temp1>9)return"身份证号码中不能含有除了最后一位是X的其它字符";elsereturn"身份证号码正确:"+cardId;}publicstaticvoidmain(String[]args){System.out.println(identityCardId());}}
解决方案
解决方案二:
System.out.println(String.valueOf(cardId.charAt(len)));先
解决方案三:
请按红色字部分修改if(len!=18)return"您输入的位数错误";else{for(inti=0;i<len-2;i++){temp=cardId.charAt(i);if(temp<48||temp>58)return"身份证第"+(i+1)+"中不能含有非数字字符";}}temp1=cardId.charAt(len-1);if(temp1!=120&&temp1!=88&&temp1>58||temp1<48)return"身份证号码中最后一位不能含有除X外的其它字符";elsereturn"身份证号码正确:"+cardId;
解决方案四:
订正for(inti=0;i<len-2;i++){应该是for(inti=0;i<len-1;i++){
解决方案五:
cardId.charAt(len)这句是无数据的, 最后一个字符应该是 cardId.charAt(len-1)
解决方案六:
啥东东看半天没看明白