RandomStringUtilsは文字の範囲を定めて、その範囲内でランダムに文字を組み合わせて文字列を生成するもののよう(私も今調べたので正確ではないかも)なので、今回のような「入力された文章を並び替える」には向きません。
EditTextからいったん文字列を取り出してchar配列に変換。
その後、その配列をシャッフルしてから文字列を生成しなおす、というのが素直な考え方では?
java
1String str = editText.getText().toString();
2char[] cArr = str.toCharArray();
3for (int i = cArr.length - 1; i > 0; i--) {
4 int x = (int)(Math.random() * (i + 1));
5 if (x == i) continue;
6 char temp = cArr[i];
7 cArr[i] = cArr[x];
8 cArr[x] = temp;
9}
10String result = new String(cArr);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/09 02:34