[英]Why does it give me an error even though I declared rand?
import java.util.Random;
class perro{
private Float animo;
private Float umbral;
Random rand = new Random();
public perro(){
animo = rand.nextFloat() * (5+5)-5;
umbral = rand.nextFloat() * (0-20);
}
public Float getAnimo(){
return animo;
}
public Float getUmbral(){
return umbral;
}
private void psican(persona p){
this.animo = (rand.nextFloat() -0.5) * 10 + this.animo;
if (p.tieneGalleta()){
p.darGalleta();
this.animo += (1.0 / p.getConfiabilidad()) * (rand.nextInt(2));
}
System.out.println("Mi nuevo animo es: " + this.animo);
}
I received this error:我收到了这个错误:
"error: incompatible types: double cannot be converted to Float
this.animo = (rand.nextFloat() -0.5) * 10 + this.animo;"
I have checked everything however, everything was stated as a float from the beginning.我已经检查了所有内容,但是从一开始就将所有内容都表示为浮点数。
Because 0.5
is a double
(not a float
).因为0.5
是double
(不是float
)。 Change this改变这个
this.animo = (rand.nextFloat() -0.5) * 10 + this.animo;
to至
this.animo = (rand.nextFloat() -0.5f) * 10 + this.animo;
or或者
this.animo += (rand.nextFloat() - 0.5f) * 10;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.