java。 指定された長さのテキストのランダムに選択された部分文字列を返すには、乱数ジェネレータを使用する必要があります。長さが負またはテキストの長さより大きい場合、メソッドはIllegalArgumentExceptionをスローする必要があります。例えば、chooseSubstring( "abcde"、4、new Random())は約半分の時間で "abcd"を返し、半分の時間で "bcde"を返します。文字列変数を指定された長さのランダムな部分文字列に分割します。
public static String chooseSubstring (String text, int length, Random rand)
{
int randomNum = rand.nextInt(length);
String answer = text.substring(randomNum);
return answer;
}
基本的に、私は変数テキストから部分文字列を返すようにしたいです。部分文字列は可変長の長さでなければなりません。この部分文字列の先頭は、乱数ジェネレータによって決定されるランダムな位置から開始する必要があります。私の問題は、乱数ジェネレータが部分文字列が正しい長さであることを確認していないことです。
System.out.println(chooseSubstring("abcde", 4, new Random()));
は倍のほぼ同じ量abcd
とbcde
を返す必要があります。代わりに返信しています: bcde
cde
de
abcde
これを解決する方法についての情報は、大変感謝しています!
'randomNum'は' 0'から 'length'(排他)までの値です。 0,1,2,3のいずれかになります。 –