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