اعتبارسنجی کد ملی در جاوا
اگر برنامه شما به زبان جاواست و میخواهید کدملی کاربر را اعتبار سنجی کنید، این پست برای شما مفید است. برای اعتبارسنجی کد ملی سه رقم اول از سمت چپ باید برابر کد شهرستان شخص باشد. رقم اول از سمت راست نشان دهنده رقم کنترل است که از نه رقم سمت چپ به دست می آید. کافیست کد ملی کاربر را بصورت یک رشته به تابع زیر بدهید و صحت آن را بررسی کنید. به کد تابع و مثالی از آن توجه کنید.
import java.util.Scanner;
public class Main {
private static boolean validationNationalCode(String code){
//check length
if (code.length() != 10)
return false;
long nationalCode = Long.parseLong(code);
byte[] arrayNationalCode = new byte[10];
//extract digits from number
for (int i = 0; i < 10 ; i++) {
arrayNationalCode[i] = (byte) (nationalCode % 10);
nationalCode = nationalCode / 10;
}
//Checking the control digit
int sum = 0;
for (int i = 9; i > 0 ; i--)
sum += arrayNationalCode[i] * (i+1);
int temp = sum % 11;
if (temp < 2)
return arrayNationalCode[0] == temp;
else
return arrayNationalCode[0] == 11 - temp;
}
public static void main(String[] args) {
// snippets.ir
Scanner scanner = new Scanner(System.in);
String code = scanner.next();
if (validationNationalCode(code))
System.out.println("valid");
else
System.out.println("Not valid");
scanner.close();
}
}




2 thoughts on “اعتبارسنجی کد ملی در جاوا”
خیلی ممنون کد بسیار خوبی بود
ممنون خیلی کمک کرد . فعلا تست نککردم اما به نظرم اوکی باشه . ممنون