克隆和for循环的问题

时间:2015-04-02 14:06:14

标签: java java-ee

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循环如何工作

1 个答案:

答案 0 :(得分:0)

安迪特纳在第一个问题上说:

  

clone()未被使用。恰好这个变量被称为clone,但是对代码没有语义重要性。

关于for声明,他由3个部分组成,每个部分由一个;分隔,并且没有一个部分有义务在那里:

  • 第一部分是您可以或不可以声明增量变量的地方:int i = 0;
  • 第二部分是您必须将评估结果放在布尔值上的位置:kappa.lengh >= i;
  • 您可以在第三部分修改变量值:i--;

由于这些部分都没有义务,你可以像这样编写一个正确的for循环:for(;;)

以下是文档的链接:For statement