我的目的是通过while循环把出现重复的随机数重新随机。 就是通过改变i 的值达到目的 可是发现while循环没起到作用。。为什么??重复的数字依旧出现
本身就没出现无限循环。。而是有重复的数字出现而已 而且按你的方法依旧出现重复的数字。。问题在哪呢??
追答我晕哟,原来你是这个问题哦,出现重复很正常,但是这种概率很小的,你直接把你的while循环注释点看一看也
追问哎呀。。。我的while 循环的目的就是要排除掉重复的数字。。我现在想知道的是为什么我的while循环没作用
追答原来你是这个意思哟,你可以这样写嘛,
while(s.indexOf(i)>=0){
i=r.nextInt(36);
}
哥哥 你终于说到正点上了.. 我想知道为什么while不会执行 为什么while 永远不会成立。。我把出现过的i 都保存在s里了 那么再出现重复的数字while语句就应该会成立 成立的话就会重新随机。。直到不成立。。再保存在s里 这样下去 。。就不应该出现重复的数字。。可是。。问题出现了。。重复的数字依旧出现。。问题到底在哪呢??难道我保存在s里的数字被抹杀掉了?
乱点没什么 主要是我感觉这while语句几乎没起到作用。。你刚才说s里面永远不会包含i 这个字符?为什么?而且你说我的while语句始终是成立的 那就应该是死循环罗 可是执行并没出现死循环
追答哦,说错了,你那个while是永远都不会执行,因为你的那个变量s始终没包含字符i。
追问原本你的是对的 但我没看懂 知道下面那兄弟把代码一写出来 我才知道我把i 打上双引号就不再是变量了。。而仅仅只是一个字符了。。满意答案只有一个 谢谢你下,,
这兄弟高手。。懂了。。擦。。错在这哇
本回答被提问者采纳