GenuineSounds icon

Untitled

GenuineSounds | PRO | 01/18/16 04:28:06 PM UTC | 0 ⭐ | 377 👁️ | Never ⏰ | []
Java |

900 B

|

None

|

0 👍

/

0 👎

public static String formatBrainFuck(String input) {
    input = input.replaceAll("[\r\n\t ]+", "");
    StringBuilder builder = new StringBuilder(input);
    int layer = 0;
    int[] layers = new int[input.length()];
    for (int index = 0; index < builder.length(); index++) {
        char c = builder.charAt(index);
        if (c == '[')
            layers[index] = ++layer;
        else if (c == ']')
            layers[index] = --layer;
        else
            layers[index] = layer;
    }
    for (layer = 0; layer < Arrays.stream(layers).max().orElse(0); layer++) {
        builder.append('\n');
        boolean open = false;
        for (int index = 0; index < layers.length; index++) {
            if (layer < layers[index])
                if (!open) {
                    builder.append('[');
                    open = true;
                } else
                    builder.append('_');
            else {
                if (open) {
                    builder.append(']');
                    open = false;
                } else
                    builder.append(' ');
            }
        }
    }
    return builder.toString();
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎