Der erste Schritt ist, dass Du siehst, was für ein Fehler aufgetreten ist. Das Programm dürfte nicht einfach abbrechen sondern es dürfte eine Fehlermeldung kommen. Um es genauer auszudrücken: Eine Exception zusammen mit einem sogenannten Stacktrace sollte ausgegeben werden.
Schauen wir uns einfach einmal an, was passiert bzw. wo denn eine Zahl von 0-6 eingegeben wird:
Das sind die dropPattern Methoden. Da wird ein int Wert eingelesen (sc.nextInt() Aufruf)
Da kann also die erste Möglichkeit sein: Wenn man keine Zahl eingibt sondern einen Text, dann bekommt man vom Scanner eine Exception. Also wenn man statt einer Zahl z.B. "Hallo" eingibt, dann wirft sc.nextInt() eine Exception.
Nun lass uns einmal eine 7 eingeben. Dann wird c = 2*7 + 1 = 15.
Und dann wird in einer for Schleife i heruntergezählt. i startet mit 5.
Damit wird dann auf [ICODE]f[5][15][/ICODE] zugegriffen. Das Array f wird aber erstellt als: [ICODE]new String[7][15];[/ICODE]
Der erste Array Operator nimmt also Indices von 0..6 an und der zweite Indices von 0..14. Die 15 ist damit außerhalb der Array Grenzen.