اعتبارسنجی کد ملی در جاوا
اگر برنامه شما به زبان جاواست و میخواهید کدملی کاربر را اعتبار سنجی کنید، این پست برای شما مفید است. برای اعتبارسنجی کد ملی سه رقم اول از سمت چپ باید برابر کد شهرستان شخص باشد. رقم اول از سمت راست نشان دهنده رقم کنترل است که از نه رقم سمت چپ به دست می آید. کافیست کد ملی کاربر را بصورت یک رشته به تابع زیر بدهید و صحت آن را بررسی کنید. به کد تابع و مثالی از آن توجه کنید.
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 “اعتبارسنجی کد ملی در جاوا”
خیلی ممنون کد بسیار خوبی بود
ممنون خیلی کمک کرد . فعلا تست نککردم اما به نظرم اوکی باشه . ممنون