1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;
public class Divide {
    public static void main(String[] args) {
        String sample = "ゆめよりもはかなき世のなかをなげきわびつゝあかしくらすほどに四月十よひにもなりぬれば木のしたくらがりもてゆく";
        System.out.println(Arrays.toString(devide(sample, 4)));
        System.out.println(Arrays.toString(devide(sample, 5)));
        System.out.println(Arrays.toString(devide(sample, 6)));
    }
    public static String[] devide(String s, int r) {
        int[] x = new int[r];
        for (int i = 0, j = 0; i < s.length(); i++, j++) {
            if (j >= x.length) j = 0;
            x[j]++;
        }
        List<String> list = new ArrayList<String>(r);
        for (int i = 0; i < x.length; i++) {
            list.add(s.substring(0, x[i]));
            s = s.substring(x[i]);
        }
        return list.toArray(new String[0]);
    }
}