如何在不知道它的长度时构造一个数组字段?

时间:2012-11-28 04:21:26

标签: java arrays

我不知道怎么做这件事,这是我尝试过的事情:

public class Mage{
    private int hp;
    private int mp;
    private String type;
    private String weakness;
    private int numSpell;//the input will tell you how long the array will be
    public Mage(int ihp, int imp, String itype, String iweakness, int inumSpell, String[] ispells){
        hp=ihp;
        mp=imp;
        type=itype;
        weakness=iweakness;
        private String[] spells = new String[inumSpell];
        for(int i=0;i<ispells.length;i++){
            spells[i]=ispells[i];
        }
    }
}

你认为我的猜测是正确的吗?任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:3)

虽然你正在做的事情看起来有点奇怪,但是你可以简单地做一个ispells.length来获得法术的数量,而不是为了这个目的传递另一个int。无论如何,这是你应该根据原始代码做的事情:

(代码的简化版)

public class Mage {
    private String[] spells;

    public Mage(int noOfSpells, String[] ispells) {
        spells = new String[noOfSpells];
        for (......) {
             // your for loop to copy from ispells to spells
        }
    }
}

答案 1 :(得分:0)

在该字段中,它将如下所示:private int[] numSpell;您缺少括号。