我不确定为什么会遇到这个问题。但基本上我正在改组一个单词,并且我正在使用带有循环的 arrayList。
这是我的代码,出于调试目的,我添加了几行代码。
//Declare and Initialize an arrayList for character checking
ArrayList<Boolean> jumbleVerfiy = new ArrayList<Boolean>();
for(int x = 0; x < chosenWord.length(); x++)
jumbleVerfiy.add(false);
while((chosenWord.length()) != (jumbledWord.length()))
{
//Generate random number for getting the random character
int verficationNumber = rnd.nextInt(chosenWord.length());
//Checks if the random number generated has been used before
if(jumbleVerfiy.get(verficationNumber) == false)
{
//Get the character from the randomly generated number and change the boolean array to keep track of
//letters used
jumbledWord += chosenWord.charAt(verficationNumber);
System.out.print(jumbleVerfiy.get(verficationNumber) + " " + verficationNumber);//debug
jumbleVerfiy.add(verficationNumber, true);
System.out.println(" " + jumbledWord + " " + jumbleVerfiy.get(verficationNumber));//debug
}
我的输出如下
false 3 r true
false 4 ry true
false 2 ryr true
false 1 ryra true
false 4 ryray true
tarry ryray
在此输出中,4 在第二次运行时更改为 true,但是当它循环时,由于某种原因它被设置为 false。所以我不断收到一封重复的信。我不确定问题是什么。会喜欢一些见解。
谢谢,