错误总是无法将dino转换为字符串类型,但是我很难理解为什么编译器会考虑从第一个方法将dino转换为int或字符串
public static void Tyrannosaurus()
{
String DinoName = Name();
Dinosaur Tyrannosaurus = new Dinosaur();
Tyrannosaurus.name = DinoName;
Tyrannosaurus = setDiet(Tyrannosaurus, DinoDiet[0]);
Tyrannosaurus = setHP(Tyrannosaurus, 100);
Tyrannosaurus = setDamage(Tyrannosaurus, 200);
DaysLoop(DinoName);
return;
}下面是用于上面的恐龙记录和暴龙实例的第一个getter方法
public static String getName (Dinosaur dino)
{
return Tyrannosaurus.name;
}
public static String getDiet (Dinosaur dino)
{
return Tyrannosaurus.diet;
}
public static int getHP (Dinosaur dino)
{
return dino.HP;
}
public static int getDamage (Dinosaur dino)
{
return dino.damage;
}不起作用的setter方法是从这里开始的,我确实在其他的java setter中看到人们使用这个方法。但是我还没有完全掌握这个概念
public static String setDiet (Dinosaur dino, String TyranDiet)
{
dino.diet = TyranDiet;
return dino;
}
public static int setHP (Dinosaur dino, int TyranHP)
{
dino.HP = TyranHP;
return dino;
}
public static int setDamage (Dinosaur dino, int TyranDamage)
{
dino.damage = TyranDamage;
return dino;
}/
发布于 2018-10-27 21:12:20
在下面的方法中,您将dino作为字符串返回,而dino作为int返回。
public static String setDiet (Dinosaur dino, String TyranDiet);
public static int setHP (Dinosaur dino, int TyranHP);
public static int setDamage (Dinosaur dino, int TyranDamage);这就是为什么它的pops错误是这样的
基本上,setter不会返回任何内容。删除return并重写代码,如下所示
public static void setDiet (Dinosaur dino, String TyranDiet)
{
dino.diet = TyranDiet;
}
public static void setHP (Dinosaur dino, int TyranHP)
{
dino.HP = TyranHP;
}
public static void setDamage (Dinosaur dino, int TyranDamage)
{
dino.damage = TyranDamage;
}https://stackoverflow.com/questions/53022140
复制相似问题