Das erste Problem, dass ich habe ist, dass der Editor mir einen Fehler auswirft (Hauptmethode wird nicht gefunden). Weiteres Problem ist, dass ich nicht genau weiß, warum der aufgrund Zeile 7-9 bei der Ausführung eine IndexOutOfBoundsException und eine NullPointerException auswerfen soll.
IndexOutofBoudsException --> Du erhöst deinen Index immer um eins, allerdings ist dein String halt irgendwann einmal zu Ende.
NullPointerException --> Wenn data == null, dann wird ausgeführt --> null.substring(); --> ausführen einer mehode auf das Object null ergitb, dass eine NullPointerException geworfen wird
Danke Budda für Deine Hilfe. Da bin ich schon etwas klüger :rtfm:. Was mir noch schleierhaft ist, warum das Programm die Hauptmethode nicht erkennt :autsch:. Weil es bei mir nicht läuft, kann ich nicht testen, was es macht, wenn man die Methode printString mit null aufruft ode rmit dem String 1e4?9. Der will als Hauptmethode unbedingt "public static void main (String[] args)" haben.
), aber zumindest die, die Du ausführen lassen willst. Irgendwo muss ein Programm ja beginnen, und das ist in der objektorientierten Java-Programmierung nicht oben links, sondern bei der main-Methode.
2 Möglichkeiten zum Testen: 1. Du schreibst vorübergehend eine main-Methode in Deine CatchExceptions-Klasse oder 2. Du machst eine eigene Testklasse, die nur eine main-Methode hat, in der sie ein Objekt auf die CatchExceptions-Klasse instanziert und das Programm eben testet. 2. ist eleganter, weil man anschließend die ganze Klasse wegschmeißen kann. Bei 1. muss man dran denken, die main-Methode wieder zu entfernen. Beispiel für 2.:
Java:
publicclassTest{// Die Methoden-Deklaration für main ist immer gleich:publicstaticvoidmain(String[] args){// Instanziert ein Objekt der CatchExceptions-Klasse:CatchExceptions ce =newCatchExceptions();// Probiert das printString-Programm mit einem Beispiel-String aus:
ce.printString("Bli23Bla..45Blubb?67");}}
Und diese Test-Klasse führst Du letztendlich aus (dort findet die Kiste ja auch die main-Methode). Ich hoffe, das funzt ... bin nämlich selber noch Java-Anfänger .