下面的代码必须接受一个字符串并切换两个字符(随机生成)stringLength()次的位置。字符的随机排列Java
但是,有时我会输出两位数字或两位数字。 我已经尝试了各种各样的事情,从改变我如何获得随机到管理子字符串,我仍然得到这些异常。
Scanner in = new Scanner(System.in);
String word = in.next();
for (int wordLength = word.length(); wordLength >= 0; wordLength--){
int i = (int) (Math.random() * (wordLength - 1));
int j = 0;
// j has to be bigger than i.
while (j < i){
j = (int) ((Math.random() * wordLength));
}
String first = word.substring(0, i);
String middle = word.substring(i, j);
String last = word.substring(j);
word = first + word.charAt(j) + middle + word.charAt(i) + last;
System.out.println(word);
}
问题是来自Java的每个人,但它是特别不是作业。
感谢您的想法
从你写的问题来看,为什么不通过生成两个随机索引并交换str.length()次那些索引处的字符来简化代码? – hrv