Personalnummer Überprüfung

Velko

Mitglied
Moin Freunde,

ich soll für die Uni ein Programm schreiben, dass die Personalnummer nach der Richtigkeit überprüft und ich bin nun an einem Punkt angelangt wo ich nicht mehr so richtig weiter weiß.
Ich habe schon den Code so weit fertig geschrieben, dass er das Querprodukt berechnet mit dem dazu gehörigen Gewicht und die Endsumme ausgibt(Vergleich der ersten Ziffern von der Anfangssummer und dem endgültigen Querprodukt kann ich selbst schreiben - kommt noch!).

Jedoch sind im Perso auch Buchstaben vorhanden, wir haben auch eine Hilfe bekommen mit der wir das Problem lösen könnne, jedoch verstehe ich den Ansatz nicht richtig. Ich habe euch mal die PDF verlinkt (Aufgabe 2) damit ihr wisst was ich meine.

https://www2.informatik.hu-berlin.de/swt/lehre/GdP-WS-15/uebungen/exercise-03.pdf

Die beiden Beispiele "Methode public char charAt" und "public static int getNumericValue"
weiß ich nicht richtig einzusetzen. Daher könnte einer von euch mir genau erklären wie ich damit umzugehen habe? :)

Java:
public class IDCheck2 {
    public static int wasgeht (int Summe){
        //Diese Methode berechnet die Quersumme + ihr Gewicht von rechts nach links
        int t = 0;
        int q = 0;
        int Spast = 0;
        int hans  = 0;
        q = Summe / 10; //Der Step ist nötig um die erste Ziffer auszulassen und nur die weiteren 9 Ziffern zu berechnen
        while (q!=0){
        hans = q % 10;
                if (Spast == 0 || Spast == 3 || Spast == 6){
                    hans*= 1;}
                else if (Spast == 1 || Spast == 4 || Spast == 7) {    
                    hans *= 3;}
                else if (Spast == 2 || Spast == 5 || Spast == 8){
                    hans *= 7;}
                t += hans;
                Spast += 1;
                q /= 10;
        }
        return t;
    }

        public static void main (String[] args) {
        String id = args[0];
        int t;
        int Summe = 195;
         t = wasgeht(Summe);
         System.out.print(t);
    }
}

MfG.!
 
Zuletzt bearbeitet von einem Moderator:

stg

Top Contributor
Unter "Hinweise" steht doch alles. Insbesondere hast du dort auch Beispiele, wie die genannten Methoden zu verwenden sind.

Ein String ist im Grund nicht viel mehr, als ein Array von einzelnen Zeichen. Über dieses kannst du iterieren und in jedem Schritt die notwendigen Berechnungen durchführen.
Viel mehr kann man (zusammen mit den schon gegebenen Hinweisen) aber auch nicht mehr sagen, ohne gleich die gesamte Lösung vorzusagen..
 

Flown

Administrator
Mitarbeiter
Man kann schon etwas nachhelfen.
- Man definiert sich mal ein int-Array mit den Gewichtungen int[] weights = {7, 3, 1};.
- Dann verwendet man die richtige Schleife für den Job und zwar eine Zählschleife: for(int i = 0; i < id.length() - 1; i++) {...}
- Man erhält das richtige Gewicht für die i-te Stelle mit int weight = weights[i % weights.length];
- Wie schon in den Tipps geschrieben Wert an der i-ten Stelle: int value = Character.getNumericValue(id.charAt(i)) * weight;
- Danach alles aufsummieren
- Nachdem du die letzte Stelle brauchst kannst du die mit dem %-Operator extrahieren int lastDigit = sum % 10

Wenn man jetzt nicht auf der Nudelsuppe dahergeschwommen ist, dann schafft man das mit allen Tipps zusammen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Personalnummer automatisch generieren Java Basics - Anfänger-Themen 11
B Personalnummer aus Datenbank Java Basics - Anfänger-Themen 3
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
A Überprüfung in TicTacToe Java Basics - Anfänger-Themen 5
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
T Überprüfung einer Aufgabe zu verketteten Listen Java Basics - Anfänger-Themen 5
O Überprüfung auf Existenz einer Methode Java Basics - Anfänger-Themen 6
P Fallunterscheidung mit Überprüfung (enum) Java Basics - Anfänger-Themen 11
A null-Überprüfung Java Basics - Anfänger-Themen 24
S VierGewinnt Überprüfung Java Basics - Anfänger-Themen 7
J While-Überprüfung wird nicht wahr Java Basics - Anfänger-Themen 2
C Datentypen Methode zur Überprüfung, ob ein Rechenergbnis Int ist Java Basics - Anfänger-Themen 4
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
B Problem bei Überprüfung des Inhalts eines Arrays Java Basics - Anfänger-Themen 25
S Überprüfung Benutzereingabe Java Basics - Anfänger-Themen 5
J Überprüfung, ob Array aufsteigend sortiert Java Basics - Anfänger-Themen 6
U Frage zur Überprüfung von einer Zahl Java Basics - Anfänger-Themen 9
C Überprüfung eines Arrays auf einen speziellen Wert Java Basics - Anfänger-Themen 5
D String-Überprüfung Java Basics - Anfänger-Themen 4
Q Überprüfung ob JTextField einen Text enthält Java Basics - Anfänger-Themen 2
B Überprüfung ob Methode von geerbter Klasse aufgerufen wird Java Basics - Anfänger-Themen 2
C Überprüfung ob Eingabe Text/ASCII Java Basics - Anfänger-Themen 24
J Überprüfung ersten Zeichens Java Basics - Anfänger-Themen 7
D Überprüfung: Double oder Integer Java Basics - Anfänger-Themen 4
N Überprüfung der ZufallsZahl? Java Basics - Anfänger-Themen 2
R Eingabe eines Chars mit Überprüfung Java Basics - Anfänger-Themen 3
O Überprüfung von Eingaben auf Sinnhaftigkeit Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben