package com.company.pruefnummern; import java.util.Scanner; public class BundeswehrPruefnummern { public static void main(String[] args){ Eingabe(); } public static void Eingabe(){ Scanner scanner = new Scanner(System.in); System.out.println("Bitte geben sie die Personennummer ein: "); String personennummer = scanner.nextLine().replace("-", ""); ////Überprüfung der länge while (personennummer.length() != 11 && personennummer.substring(5, 6) != "[A, B, C, D-Z]") { System.out.println("Die Nummer muss 11 Stellen lang sein oder dem Syntax entsprechen. Bitte erneut eingeben"); personennummer = scanner.nextLine().replace("-", ""); } String[] eingabe = new String[11]; for(int g = 0; g < 11; g++){ eingabe[g] = personennummer.substring(g, (g+1)); } int prueziffer = Algorithmus(eingabe); Ausgabe(prueziffer); } public static int Algorithmus(String Eingabe[]){ String[] geburtsname = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; String[] geburtsnameValue = {"12", "14", "16", "18", "20", "22", "24", "26", "28", "6", "8", "10", "12", "14", "16", "18", "20", "22", "4", "6", "8", "10", "12", "14", "16", "18"}; int[] gewichtung = {2, 3, 4, 5, 6, 7, 1, 6, 7, 2, 3}; //// Umwandlung des Buchstabens in eine Zahl for(int i = 0; i < 26; i++ ){ if(Eingabe[6].equals(geburtsname[i])){ Eingabe[6] = geburtsnameValue[i]; } } int[] INTeingabe = new int[11]; for(int i = 0;i < Eingabe.length;i++) { INTeingabe[i] = Integer.parseInt(Eingabe[i]); } //// Gewichtung und Summierung int summe = 0; int[] nummern = new int[11]; for (int j = 0; j < 11; j++){ nummern[j] = INTeingabe[j]*gewichtung[j]; summe = summe+nummern[j]; } //// Ermittlung der Prüfnummer int prueziffer = 0; int mod = summe%11; int Differenz = 11-mod; if(Differenz == 10){ return(prueziffer); }else if(Differenz == 11){ prueziffer = 1; }else{ prueziffer = mod; } //// return(prueziffer); } public static void Ausgabe(int p){ Scanner scanner = new Scanner(System.in); System.out.println("Die Prüfziffer lautet: "+p); System.out.println("Wollen Sie eine weitere Personennummer pruefen? Wenn ja bitte mit y bestätigen. Wenn nich kann das Programm mit n beendet werden."); String weiter = scanner.nextLine().replace("-", ""); if(weiter.equals("y")) { Eingabe(); } } }