Hallo 
Ich habe gerade angefangen zu studieren und bin somit noch relativ unerfahren mit Java.
Nun haben wir eine Übungsaufgabe bekommen, die mir den Schlaf raubt.
Wir sollen ein Programm schreiben, welches eine 13-stellige ISBN überprüfen kann.
Der User soll also die ISBN im Terminal eingeben und das Programm berechnet dann, ob die Nummer richtig oder falsch ist. Ist sie falsch, soll das Programm die Prüfziffer (die 13.te Zahl) ändern, sodass die Nummer richtig ist.
Dies wird mithilfe eines Rechenweges berechnet. Die erste Zahl der ISBN wird mit 1 multipliziert, die zweite mit 3, die nächste wieder 1, die darauf mit 3, und so weiter. Das wird mit den ersten 12 Zahlen gemacht.
Die Prüfziffer ist nun die Differenz von dem eben errechneten Ergebnis bis zur nächsten durch 10 teilbaren Zahl.
Hier ein Beispiel: ISBN: 978-3-8274-1631-5
105 = 9 + 3 ∗ 7 + 8 + 3 ∗ 3 + 8 + 3 ∗ 2 + 7 + 3 ∗ 4 + 1 + 3 ∗ 6 + 3 + 3 ∗ 1
5 = 110 − 105
5 ist somit die richtige Prüfziffer.
Ich bin nun schon so weit gekommen, dass der User die Nummer eingeben kann und das Programm checkt, ob die Nummer 13-stellig ist oder nicht.
Jedoch habe ich einfach überhaupt keine Idee wie ich den oben genannten Rechenweg programmieren soll.
Ich hoffe jemand kann mir helfen
Anbei ein Bild meines bisherigen "Erfolgs".
Ich habe gerade angefangen zu studieren und bin somit noch relativ unerfahren mit Java.
Nun haben wir eine Übungsaufgabe bekommen, die mir den Schlaf raubt.
Wir sollen ein Programm schreiben, welches eine 13-stellige ISBN überprüfen kann.
Der User soll also die ISBN im Terminal eingeben und das Programm berechnet dann, ob die Nummer richtig oder falsch ist. Ist sie falsch, soll das Programm die Prüfziffer (die 13.te Zahl) ändern, sodass die Nummer richtig ist.
Dies wird mithilfe eines Rechenweges berechnet. Die erste Zahl der ISBN wird mit 1 multipliziert, die zweite mit 3, die nächste wieder 1, die darauf mit 3, und so weiter. Das wird mit den ersten 12 Zahlen gemacht.
Die Prüfziffer ist nun die Differenz von dem eben errechneten Ergebnis bis zur nächsten durch 10 teilbaren Zahl.
Hier ein Beispiel: ISBN: 978-3-8274-1631-5
105 = 9 + 3 ∗ 7 + 8 + 3 ∗ 3 + 8 + 3 ∗ 2 + 7 + 3 ∗ 4 + 1 + 3 ∗ 6 + 3 + 3 ∗ 1
5 = 110 − 105
5 ist somit die richtige Prüfziffer.
Ich bin nun schon so weit gekommen, dass der User die Nummer eingeben kann und das Programm checkt, ob die Nummer 13-stellig ist oder nicht.
Jedoch habe ich einfach überhaupt keine Idee wie ich den oben genannten Rechenweg programmieren soll.
Ich hoffe jemand kann mir helfen
Anbei ein Bild meines bisherigen "Erfolgs".