如何实现重载方法以正确识别变量

时间:2014-02-17 03:59:02

标签: java methods int double overloading

我已经在我的项目上工作了大约15个小时,我的想法用完了,我迫切需要一些帮助。我看过教程和书籍,但我无法弄清楚。

我的主要问题是我无法理解/计算如何使用重载方法在int或double之间进行选择。解释我试图让我的程序使用用户输入将值转换为int到double(反之亦然)并存储结果以显示正确的答案。

而不是仅仅将它留作双倍,我试图获得每种可能性的变化。

我试图这样做的原因如下(我知道代码不需要它,但是赋值要求我这样做,但我一直在追求死胡同):


这是重载的来源:一些应用程序将金额定义为int,而其他应用程序将其定义为double。因此,您需要编写此方法的两个重载版本:

仅获取一次用户输入。如果将转换为int的数量的输入值转换为int并将其存储在int变量中,则可以将此int的值转换为double,并将此转换的结果存储在double变量中。使用强制转换操作符将int值转换为double或double值为int。

2 个答案:

答案 0 :(得分:0)

为什么情况复杂化? 简单的解决方案: - 接收输入为double - 检查数字是否为整数。如果是,则将其转换为整数,然后调用适当的方法。快速搜索给出了这个:

How to test if a double is an integer

Convert double to Int, rounded down

答案 1 :(得分:0)

如果您需要编写两个重载版本的interestcalc函数,只需使用以下签名制作两个单独的方法:

public static void interestcalc (int aLoan, double interes, int numYears)
{
    // perform calculations here
}


public static void interestcalc (double aLoan, double interes, int numYears)
{
    // perform calculations here
}