GenuineSounds icon

bfmin.java

GenuineSounds | PRO | 03/15/15 05:07:31 PM UTC | 0 ⭐ | 476 👁️ | Never ⏰ | []
Java |

1.19 KB

|

None

|

0 👍

/

0 👎

public static final UnaryOperator<String> encode_1 = in -> {
    int length = in.length();
    if (length < 2)
        return in;
    StringBuilder out = new StringBuilder(length + 1);
    int counter = 0;
    int check;
    char compare;
    for (int place = 0; place < length; place++) {
        compare = in.charAt(place);
        check = place + 1;
        if (length > check && compare == in.charAt(check)) {
            counter++;
            continue;
        }
        if (counter == 0)
            out.append(compare);
        else if (counter == 1) {
            out.append(compare);
            out.append(compare);
        } else {
            out.append(counter + 1);
            out.append(compare);
        }
        counter = 0;
    }
    return out.toString();
};
 
 
public static final UnaryOperator<String> decode_0 = in -> {
    int length = in.length();
    if (length < 2)
        return in;
    StringBuilder out = new StringBuilder(length * 4);
    for (int count = 0; count < length; count++) {
        if (!Character.isDigit(in.charAt(count))) {
            out.append(in.charAt(count));
            continue;
        }
        int start = count;
        while (Character.isDigit(in.charAt(count)))
            count++;
        for (int j = 0; j < Integer.parseInt(in.substring(start, count), 10); j++)
            out.append(in.charAt(count));
    }
    return out.toString();
};

Comments

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

    0 B

    |

    👍

    /

    👎