initial commit

This commit is contained in:
Marc Koch 2020-04-14 14:34:36 +02:00
commit 9f031dc16b
3 changed files with 67 additions and 0 deletions

2
README.md Normal file
View File

@ -0,0 +1,2 @@
#Prüfziffer
![Azfgabe](img/Pruefziffer.png)

BIN
img/Pruefziffer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

View File

@ -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;
}
}