好了,所以對於我在寫我呼籲程序「飛行」我創建的計算過程中使用的燃料量的方法飛行。我得到了2代碼,雖然我的代碼說:「可能發生的精度損失:double required:int」任何人都可以幫我找出爲什麼我得到這個錯誤?
這裏是我爲這個方法的代碼:
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;
}
numofMiles是如何聲明的? – bmargulies
numofmiles在類的開頭聲明爲int。在測試程序中,我使用File reader從名爲input.txt的文件中獲取有關對象的numofmiles和其他信息。 – Andrew
當你將一個double分配給一個float,一個long分配給一個int,一個float分配給一個int等時,如果沒有明確的轉換,你會得到警告。在上面的例子中,如果'numofMiles'是一個long或int,你會在中間的兩個乘法中得到警告,因爲你將一個double賦值給一個int。 –