具有不同get和return类型的Java方法

时间:2016-01-08 08:16:14

标签: java methods

我是Java新手,我想写一个这样的方法。

public static double getSignum(double value){
        String signum = "";
        if(value>0){
            signum = "+"+Double.toString(value);
        }
        else{
            signum = Double.toString(value);
        }
        return signum;  
    }

在Javascript中返回另一个类型没有问题...所以我怎么能在java中做到这一点?

2 个答案:

答案 0 :(得分:2)

将方法签名更改为

public static String getSignum(double value){

答案 1 :(得分:2)

你需要在Java学习的第一件事是它的库绝对是巨大的。

因此,您的要求 - 如果合适,显示带有显式加号的格式化双精度 - 可能是使用该库可解决的。这是你应该采用的本能。

使用标准Java函数,您的解决方案将成为:

public static String getSignum(double value){
    DecimalFormat fmt = new DecimalFormat("+#,##0.00;-#");`
    return fmt.format(value)
}

请注意,我已将返回类型更改为String。与Javascript不同,Java是一种强类型语言,因此您必须将函数返回类型与返回的匹配。

我在这里有点顽皮,我使用美国和英国的区域设置格式为十进制数字。很多欧洲国家使用,作为小数点分隔符,.表示1000秒。也许你可以使我做得更通用。