所以,在学校里,我们已经完成了这项功课,我必须要显示一个单词,而且这个人必须猜测它的内容。但是,我们还没有教过关于洗牌的话,我们的教授告诉我们 google it 。到目前为止,我已经阅读了一些文章,但它们没有用,至少在我的情况下。
所以,如果你们中的某个人可以告诉我如何向我解释,如果你们愿意的话,我会非常高兴。
无法使用数组或向量。谢谢!
答案 0 :(得分:0)
一个String基本上是一个包含在类中的数组,所以这是一个有趣的要求,但是你可以一次将一个字符随机播放n次迭代。填写我发表评论的行
Random r = new Random (System.currentTimeMillis());
For (int i = 0; i < n; i ++) { // n is your number of iterations
int idx = r.nextInt(str.length);
// use String .substring to move the character at index idx to the end of the string
}
答案 1 :(得分:0)
由于它的任务,将给出基本的解释并让你参与实施。
你可以做的是创建/写一个交换函数swap(posA,posB,string)
,它接受两个参数posA
和posB
并交换字符串'字符串中各自位置的字符”。遍历所有字符并在每种情况下生成两个随机数(位置),然后交换字符:
for (char element : string ){
swap(genRandom(), genRandom(), string);
}
其中genRandom()
是字符串长度范围内的随机数生成器。