Possible en double:
Java loss of precisionPerte de précision possible?
ok donc pour un programme que je vous écris, je l'ai appelé « Flight » J'ai créé une méthode qui calcule la quantité de carburant à utiliser pendant le vol. J'obtiens 2 erreurs sur mon code cependant qui indique «perte possible de précision trouvée: double required: int» n'importe qui peut m'aider à découvrir pourquoi je reçois cette erreur?
ici est mon code pour cette méthode:
public double calculateFuel(){
if (numofmiles<1000){
numofmiles = numofmiles*2;
}
else if (numofmiles>1000 && numofmiles<3000){
numofmiles = numofmiles*1.75;
}
else if (numofmiles>3000){
numofmiles = numofmiles*1.5;
}
//basing off of that a plane goes 30 miles on 1 gallon
double fuel = numofmiles/30;
return fuel;
}
Comment est-ce que numofMiles est déclaré? – bmargulies
numofmiles est déclaré au début de la classe comme int. Dans le testeur, j'utilise le lecteur de fichiers pour obtenir le numofmiles et d'autres informations sur l'objet à partir d'un fichier appelé input.txt. – Andrew
Lorsque vous affectez un double à un float, un long à un int, un float à un int, etc., sans un cast explicite, vous recevrez l'avertissement. Dans le cas ci-dessus, si 'numofMiles' est un long ou un int vous obtiendrez l'avertissement sur les deux multiplications du milieu parce que vous affectez un double à un int. –