当我想要返回类型double时,为什么java告诉我返回int类型

时间:2018-03-26 14:21:26

标签: java int double

enter image description here

在我的代码中我希望返回一个double但是,java说必须返回int类型,我不知道为什么这是在这个方法中我使用双精度。

6 个答案:

答案 0 :(得分:1)

您的返回值必须与方法类型相同 - public static int nameMethod必须返回int值。如果要返回双变化类型的方法。要返回double,它应该看起来像这样

public static double nameMethod(){
//code here
}

答案 1 :(得分:1)

根据您附上的图片,

Double centimeters= ....... return centrimeters //this is where your code is failing

由于您的方法签名是返回类型int,并且您在double and returning the same内计算结果。因此问题。

将计算部分Double centimeters更改为int centimeters或将方法签名更改为double

也请在SO张贴您的代码,不要附加图片,因为其他人很难帮助您。

答案 2 :(得分:1)

您声明calculateScore方法的返回类型应为int,但您尝试返回Double,这可能会导致其失去准确性。

你应该

  • 将方法声明为double calculateScore()

或返回intValue

Double
  • return centimerters.intValue()

答案 3 :(得分:1)

如果在方法中声明它将返回特定类型,则稍后在return语句中返回的值必须与方法声明或它必须是从方法声明中的类型继承的类型。

答案 4 :(得分:1)

在方法签名中将返回类型从int更改为double

public static double calcFeetAndInchesToCentimeters(double feet, double inches) {
   ...
}

答案 5 :(得分:0)

第36行在签名方法中将int替换为double