Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ISBN {
- public static void main(String[] args) {
- String ISBN = args[0]; //ISBN wird durch Kommandozeile in ein Array übergeben
- int summe = 0, pruefziffer = 0;
- boolean ungerade = true;
- ISBN = ISBN.replace(" ", "").replace("-", ""); //entfernt Bindestriche und Leerzeichen in der ISBN
- if (ISBN.length() > 13 || ISBN.length() < 12) { // überprüft ob ISBN zu lang oder zu kurz ist
- System.out.println("nur 12 oder 13 Ziffern");
- System.exit(1); // Beendet das Programm 1 steht für Fehler
- }
- for (int i = 0; i < 12; i++) {
- if (ISBN.charAt(i) < 48 || ISBN.charAt(i) > 57) { // Prüft ob das Zeichen eine Zahl ist
- System.out.println ("Es sind nur Zahlen in einer ISBN erlaubt");
- System.exit(1); // Beendet das Programm 1 steht für Fehler
- } else {
- int zifferISBN = ISBN.charAt(i) - 48; // wählt Char aus dem String
- if(ungerade) {
- summe = summe + zifferISBN;
- } else {
- summe = summe + (zifferISBN * 3);
- }
- ungerade = !ungerade;
- }
- }
- pruefziffer = summe % 10; //Prüfziffer errechnen
- if (ISBN.length() == 13) {
- if (ISBN.charAt(12) - 48 == pruefziffer) {
- System.out.println("Pruefziffer war richtig, ihr Wert is: " + pruefziffer);
- } else {
- System.out.println("Pruefziffer ist falsch, die richtige ist: " + pruefziffer);
- }
- } else { // keine pruefziffer angegeben
- System.out.println("Pruefziffer wurde nicht angegeben. Pruefziffer ist: " + pruefziffer);
- }
- System.out.println("Die endgültige ISBN lautet:");
- for (int i = 0; i < 12; i++) {
- System.out.print(ISBN.charAt(i));
- if (i == 2 || i == 3 || i == 7) {
- System.out.print("-");
- }
- }
- System.out.print("-");
- System.out.println(pruefziffer);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement