nantan #4232(2007/11/19 07:17 GMT) [ Java ] Rating0/0=0.00
先に何文字で分割するかを計算させてから文字分割しています。
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]); } }
Rating0/0=0.00-0+
1 reply [ reply ]
匿名 #7591(2008/09/08 04:05 GMT) Rating0/0=0.00
すばらしい! ありがとうございます。
[ reply ]
nantan #4232() [ Java ] Rating0/0=0.00
先に何文字で分割するかを計算させてから文字分割しています。
Rating0/0=0.00-0+
1 reply [ reply ]