Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. class ISBN {
  2.  
  3. public static void main(String[] args) {
  4.  
  5. String ISBN = args[0]; //ISBN wird durch Kommandozeile in ein Array übergeben
  6. int summe = 0, pruefziffer = 0;
  7.  
  8. boolean ungerade = true;
  9.  
  10. ISBN = ISBN.replace(" ", "").replace("-", ""); //entfernt Bindestriche und Leerzeichen in der ISBN
  11. if (ISBN.length() > 13 || ISBN.length() < 12) { // überprüft ob ISBN zu lang oder zu kurz ist
  12. System.out.println("nur 12 oder 13 Ziffern");
  13. System.exit(1); // Beendet das Programm 1 steht für Fehler
  14. }
  15.  
  16. for (int i = 0; i < 12; i++) {
  17. if (ISBN.charAt(i) < 48 || ISBN.charAt(i) > 57) { // Prüft ob das Zeichen eine Zahl ist
  18. System.out.println ("Es sind nur Zahlen in einer ISBN erlaubt");
  19. System.exit(1); // Beendet das Programm 1 steht für Fehler
  20. } else {
  21. int zifferISBN = ISBN.charAt(i) - 48; // wählt Char aus dem String
  22.  
  23. if(ungerade) {
  24. summe = summe + zifferISBN;
  25. } else {
  26. summe = summe + (zifferISBN * 3);
  27. }
  28. ungerade = !ungerade;
  29. }
  30. }
  31. pruefziffer = summe % 10; //Prüfziffer errechnen
  32.  
  33. if (ISBN.length() == 13) {
  34. if (ISBN.charAt(12) - 48 == pruefziffer) {
  35. System.out.println("Pruefziffer war richtig, ihr Wert is: " + pruefziffer);
  36. } else {
  37. System.out.println("Pruefziffer ist falsch, die richtige ist: " + pruefziffer);
  38. }
  39.  
  40. } else { // keine pruefziffer angegeben
  41. System.out.println("Pruefziffer wurde nicht angegeben. Pruefziffer ist: " + pruefziffer);
  42. }
  43. System.out.println("Die endgültige ISBN lautet:");
  44.  
  45. for (int i = 0; i < 12; i++) {
  46. System.out.print(ISBN.charAt(i));
  47. if (i == 2 || i == 3 || i == 7) {
  48. System.out.print("-");
  49. }
  50. }
  51. System.out.print("-");
  52. System.out.println(pruefziffer);
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement