Zig Zag Generator

ebru.shn

Neues Mitglied
Ich möchte aus einem String ein horizontales Zig Zag Muster generieren
Ich habe dafür folgende Methode geschrieben:

Java:
public static char[][] createZigZag(String input, int depth) {
        
        final int column = input.length();
        final int row = depth;
        
        final char[][] pattern = new char[row][column - 1];
        
        int index = 0;
        
        while(index < column) {
            for(int i = 0; i < row; i++) {
                pattern[i][index] = input.charAt(i);
                index++;
            }
            
            for (int j = row - 2; j >= 0; j--) {
                pattern[j][index] = input.charAt(j);
                index++;
            }
        }
        
        //alle leeren Felder sollen mit einem Leerzeichen befüllt werden
        for(int i = 0; i < row; i++) {
            for(int j = 0; j < column; j++) {
                if(pattern[i][j] == 0) {
                    pattern[i][j] = ' ';
                }
            }
        }
        
        return pattern;
    }

Wenn ich das Programm starte, bekomme ich diesen Fehler angezeigt:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 12 out of bounds for length 12
Ich weiß nicht was ich da verbessern soll?
Danke für die Hilfe im Voraus
 

Nouser

Mitglied
  1. Warum column - 1 ?
  2. depth ist abhängig von length, da kannst du depth gleich berechnen um Problemen auszuweichen. So klappt deine Methode z.B. nur mit l:10 und d:3 oder l:14 und d:4
 

Ähnliche Java Themen

Neue Themen


Oben