Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1.  
  2.  
  3. Schreiben Sie ein Java-Programm zur Generierung von internationalen Kontonummern (IBAN)
  4.  
  5. Das Programm soll aus Kontonummern und Bankleitzahlen deutscher Bankfilialen die ab dem Jahr 2014 verbindliche IBAN generieren. Eine IBAN für deutsche Banken hat den folgenden Aufbau:
  6.  
  7. DEPPBBBBBBBBNNNNNNNNNN (22 Stellen) mit den einzelnen Bestandteilen:
  8.  
  9. DE Ländercode für Deutschland
  10.  
  11. PP Prüfziffer
  12.  
  13. BBBBBBBB Bankleitzahl
  14.  
  15. NNNNNNNNNN Kontonummer (10-stellig)
  16.  
  17.  
  18.  
  19. Ihr Programm soll folgendes bieten:
  20.  
  21. Bankleitzahlen und Filialbezeichnungen aus der anliegenden Textdatei BLZ.txt einlesen und die Bankleitzahlen und Filialbezeichnungen zeilenweise auf dem Bildschirm ausgeben.
  22.  
  23. die Bankdaten, also die Kontonummer und die Bankleitzahl eines deutschen Kontos über die Tastatur einlesen, auf korrekte Eingabe prüfen und ggfs. eine Fehlermeldung auf dem Bildschirm ausgeben, die den Ort des Fehlers benennt.
  24.  
  25. die Filialbezeichnung aus der Filialliste heraussuchen und eine Fehlermeldung auf dem Bildschirm ausgeben, falls die Bankfiliale nicht enthalten ist
  26.  
  27. die Prüfziffer der IBAN nach dem in der Norm ISO 7064 definierten Verfahren „Modulus 97-10“ berechnen (s.u.).
  28.  
  29. die IBAN aus der Prüfziffer, der Bankleitzahl und der Kontonummer generieren.
  30.  
  31. die IBAN zusammen mit Kontonummer, Bankleitzahl und Filialbezeichnung sowie der Anzahl benötigter Suchschritte in der Filialliste auf dem Bildschirm ausgeben.
  32.  
  33. Algorithmus zum Berechnen der Prüfziffer nach Modulus 97-10 (ISO 7064)
  34.  
  35. Vorbereitung der IBAN:
  36. Erstellen Sie zunächst eine allein aus Ziffern bestehende nIBAN nach folgendem Schema: BBBBBBBBNNNNNNNNNNDEPP, d.h. die ersten vier Stellen der IBAN (Ländercode und Prüfziffer) bilden die letzten Stellen der nIBAN. Die nicht numerischen Buchstaben des Ländercodes werden als Hexziffern interpretiert und zum Aufbau der nIBAN durch ihren zweistelligen dezimalen Zahlenwert ersetzt. Die Prüfziffer wird mit 00 initialisiert.
  37. Die so initialisierte nIBAN hat 24 Dezimalziffern: BBBBBBBBNNNNNNNNNN131400.
  38. Prüfziffer anhand der nIBAN berechnen:
  39. Berechnen Sie zunächst den ganzzahligen Rest R der nIBAN nach Division durch 97 (Modulo-Division, d.h. R = nIBAN % 97). Die Prüfziffer P ergibt sich damit zu P=98-R.
  40. IBAN erstellen:
  41. Setzen Sie die berechnete Prüfziffer P an der vorgesehenen Stelle in die IBAN ein. Falls P<10 wird in der Prüfziffernfolge der IBAN eine führende Null ergänzt.
  42.  
  43.  
  44.  
  45. Beispiel für Ergebnisse zu den Schritten 1-3:
  46.  
  47. IBAN = DEPP200800000970375700
  48.  
  49. Schritt 1: nIBAN = 200800000970375700131400
  50.  
  51. Schritt 2: R = 200800000970375700131400 % 97 = 10, P = 98 - R = 88
  52.  
  53. Schritt 3: IBAN = DE88200800000970375700
  54.  
  55.  
  56.  
  57. Hinweise zum Lösungsweg
  58.  
  59. Die Kontonummer darf max. 10 Ziffern und keine anderen Zeichen enthalten. Hat die eingelesene Kontonummer weniger als 10 Stellen, muss sie vorne mit Nullen aufgefüllt werden.
  60. Die Bankleitzahl muss exakt 8 Ziffern haben und darf keine anderen Zeichen enthalten.
  61. Prüfen Sie, ob in der Programmiersprache Java ein geeignetes numerisches Datenformat existiert, mit dem Sie die Modulo-Division zur Berechnung des Rests R zur nIBAN mit einer einzigen Operation in der erforderlichen Genauigkeit durchführen können! Falls Sie kein passendes Datenformat finden, bestimmen Sie R stattdessen iterativ: Teilen Sie dazu die nIBAN in mehrere Ziffernabschnitte gleicher Länge auf. Berechnen Sie den sich aus dem ersten Ziffernabschnitt ergebenden Divisionsrest R’ und stellen Sie diesen an den Anfang des folgenden Ziffernabschnitts. Wiederholen Sie das Vorgehen mit den verlängerten Ziffernabschnitten. Im letzten Durchlauf erhalten Sie dann den gesuchten Rest R. (Das Verfahren zur Bestimmung von R basiert auf einem sinnvollen Anwenden des Horner-Schemas zur Umrechnung einer Zahl aus der Zahlenbasis 10 in die Zahlenbasis 97.)
  62.  
  63. Elektronisch abzugebende Lösungsdokumente (zip-Archiv)
  64.  
  65. Ausgefülltes Deckblatt zu dieser Aufgabenstellung. Sie müssen das unterschriebene Deckblatt beim Testierungstermin abgeben. Deckblatt und Textdatei zur Aufgabe finden Sie hier.
  66. Dokumentierter und compilierbarer Quelltext der Lösung
  67. (jar.archiv incl. der source-Dokumente)
  68. Eine Textdatei, welche alle durchgeführten Testfälle protokolliert (siehe Prüfkriterien).
  69.  
  70. Prüfkriterien
  71.  
  72. Standardprüfkriterien (siehe Bedingungen für die Durchführung des Praktikums)
  73. Spezifische Testszenarien: Prüfen Sie Ihr Programm für die folgenden Eingabewerte für Bankleitzahl und Kontonummer:
  74.  
  75. 20080000 0970375700
  76. 20080000 970375700
  77. 2008000 9703757
  78. 50070024 11223344
  79. 50010700 123456789
  80. 87054000 123456789
  81. 87054000 123XX456
  82. 70120700 111222333444
  83.  
  84.  
  85.  
  86. Stellen Sie hier Ihre Archivdatei (zip-Archiv) mit allen oben geforderten Ergebnisdokumenten ein.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement