为什么这给了我一个预期的符号错误这个错误?它要我放一个“;”在第4行的口袋妖怪和宝宝之间。
public Pokemon reproduceWithPokemon(Pokemon otherPokemon){
int chance = (int)(Math.random());
if (chance <= .15){
return Pokemon baby = new
Rapidash(this.getxPos(),this.getyPos(),this.getbounds());
}
return null;
答案 0 :(得分:2)
如果机会小于15%,只需返回Pokemon对象
live
答案 1 :(得分:1)
您收到该错误,因为这不是正确的return
语句的样子。只需返回值:
return new Rapidash(this.getxPos(), this.getyPos(), this.getbounds());
Pokemon baby;
return (baby = new Rapidash(this.getxPos(), this.getyPos(), this.getbounds()));
但它只是将值赋给变量baby
然后返回它,所以你并没有从中获得太多收益。
此外,if条件将无法按预期工作,因为您将Math.random()
的结果转换为int,这将截断小数点后的所有内容。由于这会在[0, 1[
区间内生成一个随机数,因此将其强制转换为始终会为您提供0
。
只需将chance
转换为double
并放弃演员表,然后您的情况应按预期运作:
double chance = Math.random();
答案 2 :(得分:-1)
public Pokemon reproduceWithPokemon(Pokemon otherPokemon){
int chance = (int)(Math.random());
if (chance <= .15){
return new
Rapidash(this.getxPos(),this.getyPos(),this.getbounds());
}
return null;
这应该是这样的。