克隆和 for 循环的问题

issues with clone and for loop

private void buildDeck(ArrayList<Card> Monsters, ArrayList<Card> Spells) {

    int monstersQouta = 15;
    int spellsQouta = 5;

    Random r = new Random();

    for (; monstersQouta > 0; monstersQouta--) {

        int randomIndex = r.nextInt(monsters.size());
        MonsterCard monster = (MonsterCard) monsters.get(randomIndex);

        MonsterCard clone = new MonsterCard(monster.getName(),
                monster.getDescription(), monster.getLevel(),
                monster.getAttackPoints(), monster.getDefensePoints());
        clone.setMode(monster.getMode());
        clone.setHidden(monster.isHidden());
        clone.setLocation(Location.DECK);
        deck.add(clone);

    }

我需要知道我们为什么在这里使用 clone() 以及此代码中的 for 循环如何工作

正如 Andy Turner 对于您的第一个问题所说的那样:

clone() is not being used. It just so happens that the variable is called clone, but that has no semantic importance to the code.

关于 for 语句,他由 3 部分组成,每个部分由一个 ; 分隔,其中 none 必须存在:

  • 第一部分是您可以或不可以声明增量变量的地方:int i = 0;
  • 第二部分是您必须对布尔值进行评估的地方:kappa.lengh >= i;
  • 第三部分是修改变量值的地方:i--;

由于这些部分中的 none 是必须的,您可以像这样编写一个正确的 for 循环:for(;;)

这是文档的 link:For statement