LanQiaoTestCodes/身份证号合理性验证.java

35 lines
1003 B
Java
Raw Normal View History

2023-04-23 12:34:32 +00:00
package Course_Codes;
import java.util.Scanner;
//<2F><><EFBFBD><EFBFBD>֤<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
public class <EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ {
public static void main(String[] args) {
String idCard="";//<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>β<EFBFBD>ſ<EFBFBD><C5BF>ܳ<EFBFBD><DCB3><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>String<6E><67>
//<2F><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩֵ<C8A8><D6B5>7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
int [] w= {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};
//Ȩֵ<C8A8><D6B5>11ȡ<31><C8A1><EFBFBD><EFBFBD>ֵ
String [] last= {"1","0","X","9","8","7","6","5","4","3","2"};
System.out.println("Please input your ID:");
Scanner sc=new Scanner(System.in);
idCard =sc.nextLine();
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ǰ17λ
String id_17=idCard.substring(0,17);
int sum=0;
for(int i=0;i<id_17.length();i++) {
//<2F><>String<6E><67><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
int n=Integer.parseInt(id_17.substring(i,i+1));//<2F><>2:charAt(i-'0');
sum=sum+n*w[i];
}
System.out.printf("sum=%d,sum=%%11=%d\n",sum,sum%11);
if(idCard.substring(17,18).equals(last[sum%11]))
System.out.println("Yes");
else
System.out.print("No");
}
}