我不知道怎么做这件事,这是我尝试过的事情:
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];
}
}
}
你认为我的猜测是正确的吗?任何帮助将不胜感激,谢谢。
答案 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;
您缺少括号。