download:图灵学院JAVA高级架构师【第四期】最新完结无密

static public String decodeRubust(String str) {

    if (str == null || str.length() < 1)        return null;    int num = Integer.valueOf(str.charAt(0) + "");    int step = (str.length() - 1) / num;    int helpStep = step;    String[] matrix = new String[num];    System.out.println(str.length() - 1);    int duo = (str.length() - 1) % num;    for (int i = 0, j = 1; i < matrix.length; i++, j = j + helpStep) {        if (i < duo)            helpStep = step + 1;        else            helpStep = step;        matrix[i] = str.substring(j, j + helpStep);        System.out.println(matrix[i]);    }    // print(matrix);    return makeSense(matrix);}

private static String makeSense(String[] matrix) {

    StringBuffer sb = new StringBuffer();    for (int j = 0; j < matrix[0].length(); j++) {        for (int i = 0; i < matrix.length; i++) {            if (matrix[i].length() - 1 >= j)                sb.append(matrix[i].charAt(j));        }    }    System.out.println(sb.toString());    String tmp = new String();    try {        tmp = URLDecoder.decode(sb.toString(), "UTF-8");        tmp = tmp.replaceAll("\\^", "0");    } catch (UnsupportedEncodingException e) {        e.printStackTrace();        tmp = null;    }    if (tmp.subSequence(0, 7).equals("http://") && tmp.substring(tmp.length()-6).equals("0-null"))        return tmp;    else        return null;}