1

我收到此代码的最后一部分“成本”的消息,

Convert 类型中的 toDoubleString(double, boolean) 方法不适用于参数 (Double, int),

不知道如何解决这个问题。如果我把它拿出来,我会收到这条消息,

Convert 类型中的 toLeftPaddedString(String, int) 方法不适用于参数 (Double, int)。

帮助,谢谢。

public String printSummaryOutput() {
    return Convert.toRightPaddedString(make, 8) + printSummaryOutput() +  
               Convert.toRightPaddedString(model, 11) + Convert.toLeftPaddedString(color, 6) + 
               Convert.toLeftPaddedString(purchaseDate, 10) + Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10));
}
4

2 回答 2

1

作为记录,我们不知道Convert类是什么,也不知道它的方法期望什么参数。

然而,有件事告诉我,而不是......

Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10))

……你可能是说……

Convert.toLeftPaddedString(Convert.toDoubleString(cost), 10)

...因为Convert.toLeftPaddedStringdo 的其他调用接受第二个参数的整数参数。

正如其他人所说,根据错误消息,您需要为 提供boolean第二个参数Convert.toDoubleString,但该方法可能会重载;如果没有更多信息,我们无法判断。

于 2012-11-21T01:42:54.370 回答
0

在您的代码中,您正在调用方法Convert.toDoubleString(cost, 10)。此方法希望您将 adouble和 aboolean作为 2 个参数传递给它,但您却给了它 aDouble和 an int

因此,您需要更改方法调用以为其提供正确的值,可能是这样的......

Convert.toDoubleString(cost.doubleValue(), true);

这同样适用于所有其他方法,例如toLeftPaddedString()- 确保为方法提供正确的类型。

于 2012-11-21T01:41:51.497 回答