initial commit
This commit is contained in:
commit
9f031dc16b
Binary file not shown.
|
After Width: | Height: | Size: 799 KiB |
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue