JMBG generisanje

 avatar
unknown
java
4 months ago
1.9 kB
8
Indexable
import java.util.Random;

public class Main {

    public static String generisiDatum() {
        Random random = new Random();
        int godina = random.nextInt(49) + 950;
        int mjesec = random.nextInt(12) + 1;
        int dan = random.nextInt(28) + 1;
        return String.format("%02d%02d%d", dan, mjesec, godina);
    }

    public static String generisiBrojRegiona() {
        Random random = new Random();
        int drzava = 2;
        int region = random.nextInt(9) + 1;
        return String.format("%d%d", drzava, region);
    }

    public static String generisiJedinstveniBroj() {
        Random random = new Random();
        int jedinstveniBroj = random.nextInt(999) + 1;
        return String.format("%03d", jedinstveniBroj);
    }

    public static String generisiJMBG(String ulaz) {
        int[] a = new int[12];
        for (int i = 0; i < 12; i++) {
            a[i] = Character.getNumericValue(ulaz.charAt(i));
        }

        int zbir = 7 * a[0] + 6 * a[1] + 5 * a[2] + 4 * a[3] + 3 * a[4] + 2 * a[5] +
                7 * a[6] + 6 * a[7] + 5 * a[8] + 4 * a[9] + 3 * a[10] + 2 * a[11];

        int vrijednostKontrolneCifre = 11 - zbir % 11;
        String kontrolnaCifra;

        if (vrijednostKontrolneCifre > 9) {
            kontrolnaCifra = String.valueOf(0);
        } else {
            kontrolnaCifra = String.valueOf(vrijednostKontrolneCifre);
        }
        return String.format("%s%s", ulaz, kontrolnaCifra);
    }

    public static void generisiViseJMBG(int broj) {
        for(int i = 0; i < broj; i++) {
            String generisano = generisiDatum() + generisiBrojRegiona() + generisiJedinstveniBroj();
            String jmbg = generisiJMBG(generisano);
            System.out.println(jmbg);
        }
    }

    public static void main(String[] args) {
        generisiViseJMBG(100);
    }
}
Editor is loading...
Leave a Comment