在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中的一個。 –