Alle Artikel, die über die Supermarkt-Kasse gehen, tragen den 13-stelligen EAN-Code (Bild 1).
Bild 1: EAN-Code
Manchmal aber kann der Scanner den Strichcode nicht lesen. Dann muss die Kassiererin die EAN-Artikelnummer von Hand eingeben. Um dabei Fehleingaben zu erkennen, ist die letzte Ziffer des Codes eine Prüfziffer. Sie ist so gewählt, dass ein Vielfaches von 10 herauskommt, wenn
p = x1 + 3·x2 + x3 + 3·x4 + ... + 3·x12 + x13
berechnet wird, wobei xi die Ziffern der EAN-Artikelnummer sind. Wird eine Ziffer falsch eigegeben oder werden zwei benachbarte Ziffern vertauscht, so wird dies daran erkannt, dass dann p kein Vielfaches von 10 ist.
Die unter dem Strichcode von Bild 1 angegebene Nummer 5901234123457 ist gültig, denn
5 + 27 + 0 + 3 + 2 + 9 + 4 + 3 + 2 + 9 + 4 + 15 + 7 = 90
ist ein Vielfaches von 10.
Aufgabe:
Schreiben Sie eine Funktion checkEan, die eine 13-stellige EAN-Artikelnummer als String übernimmt und diese prüft. Die Funktion soll true zurückgeben, wenn die EAN-Artikelnummer gültig ist,und ansonsten false.
Hinweis: Verwenden Sie die Java-Funktion Integer.parseInt dazu, um einen String, der eine ganze Zahl darstellt, in eine int-Zahl umzuwandeln.
Testen Sie Ihr Programm mit ein paar realen EAN-Nummern.