Hallo Leute!
Ich bin Studienanfänger, hatte vorher also noch nie mit JAVA zu tun und habe folgende Aufgabe bekommen.
Die Internationale Standardbuchnummer (englisch: International Standard Book Number, ISBN) ist eine Nummer zur
eindeutigen Kennzeichnung von Büchern und anderen selbständigen Veröffentlichungen mit redaktionellem Anteil, wie
beispielsweise Multimedia-Produkten und Software. Es existieren dazu verschiedene Varianten, e.g. ISBN-10 und ISBN-
13. Hier wollen wir uns auf ISBN-10 beschränken.
Zu Sicherungs- und Kontrollzwecken von ISBNs wird die letzte Stelle als Prüfziffer verwendet. Diese Prüfziffer der ISBN
wird nach einfachen Regeln aus den übrigen Ziffern berechnet:
Man multipliziere die erste Ziffer mit eins, die zweite mit zwei, die dritte mit drei und so fort bis zur neunten Ziffer, die mit
neun multipliziert wird. Man addiere die Produkte und teile die Summe ganzzahlig mit Rest durch 11. Der Divisionsrest ist
die Prüfziffer. Falls der Rest 10 beträgt, ist die Prüf-"ziffer" ein "X".
Beispiel einer ISBN-Prüfziffer:
ISBN 3898641171 ("Sprechen Sie Java?")
3*1 + 8*2 + 9*3 + 8*4 + 6*5 + 4*6 + 1*7 + 1*8 + 7*9 =
3 + 16 + 27 + 32 + 30 + 24 + 7 + 8 + 63 = 210
210 / 11 = 19 Rest: 1 => Prüfziffer korrekt!
Schreiben Sie ein Programm, das eine ISBN einliest und prüft ob diese formal korrekt ist, d.h. ob die Prüfziffernrechnung
korrekt ist. Verwenden Sie zum Einlesen der ISBN die Methode In.read().
Meine Fragen dazu sind:
Wie kann ich, wenn die ISBN als eine eingelesen wird, die einzelnen Stellen mit der jeweiligen Zahl (1-9) multiplizieren?
Wie kann ich die Länge der ISBN überprüfen?
Danke im voraus!
Ich bin Studienanfänger, hatte vorher also noch nie mit JAVA zu tun und habe folgende Aufgabe bekommen.
Die Internationale Standardbuchnummer (englisch: International Standard Book Number, ISBN) ist eine Nummer zur
eindeutigen Kennzeichnung von Büchern und anderen selbständigen Veröffentlichungen mit redaktionellem Anteil, wie
beispielsweise Multimedia-Produkten und Software. Es existieren dazu verschiedene Varianten, e.g. ISBN-10 und ISBN-
13. Hier wollen wir uns auf ISBN-10 beschränken.
Zu Sicherungs- und Kontrollzwecken von ISBNs wird die letzte Stelle als Prüfziffer verwendet. Diese Prüfziffer der ISBN
wird nach einfachen Regeln aus den übrigen Ziffern berechnet:
Man multipliziere die erste Ziffer mit eins, die zweite mit zwei, die dritte mit drei und so fort bis zur neunten Ziffer, die mit
neun multipliziert wird. Man addiere die Produkte und teile die Summe ganzzahlig mit Rest durch 11. Der Divisionsrest ist
die Prüfziffer. Falls der Rest 10 beträgt, ist die Prüf-"ziffer" ein "X".
Beispiel einer ISBN-Prüfziffer:
ISBN 3898641171 ("Sprechen Sie Java?")
3*1 + 8*2 + 9*3 + 8*4 + 6*5 + 4*6 + 1*7 + 1*8 + 7*9 =
3 + 16 + 27 + 32 + 30 + 24 + 7 + 8 + 63 = 210
210 / 11 = 19 Rest: 1 => Prüfziffer korrekt!
Schreiben Sie ein Programm, das eine ISBN einliest und prüft ob diese formal korrekt ist, d.h. ob die Prüfziffernrechnung
korrekt ist. Verwenden Sie zum Einlesen der ISBN die Methode In.read().
Meine Fragen dazu sind:
Wie kann ich, wenn die ISBN als eine eingelesen wird, die einzelnen Stellen mit der jeweiligen Zahl (1-9) multiplizieren?
Wie kann ich die Länge der ISBN überprüfen?
Danke im voraus!