循环与arrayList bug java

madmanali93

我不确定为什么会遇到这个问题。但是基本上我是在改组一个单词,并且我在使用带有循环的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。所以我不断收到一封重复的信。我不确定是什么问题。希望有一些见识。

谢谢,

乔尼

您正在将值添加到列表中,而不是对其进行设置:

jumbleVerfiy.add(verficationNumber, true);

这意味着,例如,如果您首先选择第二个字母,然后选择第二个字母,则列表最终看起来像(T,F,T,..),就好像您选择了第一个字母和第三个字母一样。

您需要使用:

jumbleVerfiy.set(verficationNumber, true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java ArrayList for循环优化

Java for循环与ArrayList

Java中ArrayList的For循环

性能循环 arrayList 与 POJO (JAVA)

我的arraylist的Java contains()无法循环工作

在Java中使用ArrayList进行for循环

ArrayList的Java While循环不会终止

ArrayList如果循环无法正常工作:JAVA

在Java中的ArrayList中循环遍历对象

获取for循环的输出并将其插入Java中的arraylist中

使用for循环将java arraylist转换为数组

Java 程序 ArrayList:在循环内使用 Collections.shuffle()

对Java ArrayList使用迭代器,而不是使用c样式的循环

如何从HashMap中提取ArrayList并在Java中循环遍历?

删除在循环Java中在arraylist中创建的对象

Java Hibernate Bug错误的参数绑定

Java / Kotlin:Bug 算法重复对象

Java Tic Tac Toe Minimax Bug

这是一个Java BUG吗?

Java 8 UTF-8编码问题(java bug?)

初始化2D ArrayList以进行循环求和(Java)

使用JAVA在arraylist的for循环中每x秒执行一条指令

直接自引用导致循环(通过引用链:java.util.ArrayList [0]-

如何使用for循环和ArrayList的内容设置多个按钮的文本-Java-Android

使用Java For-Each循环遍历具有私有访问权限的ArrayList?

如何仅修复Java ArrayList中重复的循环中的最后一个对象

如何在java中循环一个String ArrayList以及如何拆分其中的元素

Java HashMap像ArrayList一样放入了增强的for循环

如何使用java获取for循环中的当前和下一个arraylist索引