commit 9f031dc16b43e440a3e8bb874ff2c341d1f6d324 Author: Marc Michalsky Date: Tue Apr 14 14:34:36 2020 +0200 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..34c4fd2 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +#Prüfziffer +![Azfgabe](img/Pruefziffer.png) \ No newline at end of file diff --git a/img/Pruefziffer.png b/img/Pruefziffer.png new file mode 100644 index 0000000..f47164c Binary files /dev/null and b/img/Pruefziffer.png differ diff --git a/src/gfn/marc/Pruefziffer.java b/src/gfn/marc/Pruefziffer.java new file mode 100644 index 0000000..902d14c --- /dev/null +++ b/src/gfn/marc/Pruefziffer.java @@ -0,0 +1,65 @@ +package gfn.marc; + +public class Pruefziffer { + + // zu prüfende ID + static String id = "6258431979"; + + // Ergebnis des Methodenaufrufs ausgeben + public static void main(String[] args) { + System.out.println(pruefeID(id) ? "Die ID ist korrekt!" : "Die ID ist NICHT korrekt!"); + } + + static boolean pruefeID(String id) { + + // String in Char-Array umwandeln + char[] ziffernChars = id.toCharArray(); + // Prüfziffer extrahieren + int pruefziffer = Integer.parseInt(String.valueOf(ziffernChars[ziffernChars.length - 1])); + // Ziffern 1 - 9 in int-Array einfügen + int[] ziffern = new int[ziffernChars.length - 1]; + for (int i = 0; i < ziffern.length; i++) { + ziffern[i] = Integer.parseInt(String.valueOf(ziffernChars[i])); + } + + + // Schritt 1 + int[] hilfsArrayUngerade = new int[ziffern.length]; + for (int i = 0; i < ziffern.length; i++) { + if (i % 2 == 0) { + hilfsArrayUngerade[i] = ziffern[i] * 2; + } + } + + // Schritt 2 + int summeUngerade = 0; + for (int i = 0; i < hilfsArrayUngerade.length; i++) { + int z1 = hilfsArrayUngerade[i] / 10; + int z2 = hilfsArrayUngerade[i] % 10; + summeUngerade += z1 + z2; + } + + // Schritt 3 + int summeGerade = 0; + for (int i = 0; i < ziffern.length; i++) { + if (i % 2 == 1) { + summeGerade += ziffern[i]; + } + } + + // Schritt 4 + int summe = summeUngerade + summeGerade; + int summeVerlgeich = summe; + + // Schritt 5 + while (summe % 10 != 0) { + summe++; + } + + // Schritt 6 + int zuPruefendeZiffer = summe - summeVerlgeich; + + // boolschen Wert zurückgeben + return pruefziffer == zuPruefendeZiffer; + } +}