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