我该如何格式化我的退货声明,所以我不会加倍答案?

时间:2014-06-13 01:14:25

标签: java return computer-science

private String twoDigits(int value) {
    String result = "";
    {   

    if ((mMinute >= 0) && (mMinute <= 9) && (mSecond >= 0) && (mSecond <= 9)) { 
        tempmin = ("0" + mMinute ); 
        tempsec = ("0" + mSecond );
    } else
        tempmin = (mMinute + "");

    tempsec = (mSecond + " ");
    return tempin+tempsec;

这只是我正在寻找的输出的两倍,我想知道问题是否与return语句或实际方法有关。

我需要回调这个方法,twoDigits(mMinute)+“:”+ twoDigits(mSecond)来获取显示时间的代码,但不是能够显示10:09:08我继续显示10 :0908:0908

我想知道如何修复我的代码。

2 个答案:

答案 0 :(得分:2)

由于代码中存在很多小错误,我建议采用略有不同的方法。不确定这种方法是否有效,我认为是Java,但请试一试:

private String twoDigits(int value)
{
    return value <= 9 ? "0" + value : value;
}

这实际上是if / else的缩写。返回以下内容:如果值&lt; = 9,则在值之前添加零,否则为值。

如果收到负值的风险,您可以添加:

    return (value >= 0 && value <= 9) ? "0" + value : value;

首先,保罗对 else 之后的{}的评论包含两行。然后,您实际上并未使用函数接收的,而是使用某些全局变量(mMinute和mSecond)。您创建但从不使用结果。此外,你的if语句说如果mMinute和mSecond都在0到9之间那么两者都应该是固定的。由于您应该使用 value ,您只需检查该变量的范围并相应地进行编辑。在行tempsec =(mSecond +“”);你添加一个空格..错误?最后,你在返回行上拼错了 tempmin

祝你好运。

答案 1 :(得分:0)

请注意,您的方法有一个value参数。您应该使用它而不是直接访问类中的字段。也许你可以考虑twoDigits()方法的目的。在我看来,如果输入只是一个数字,它应该采用int值并用前导零填充它。请注意,我在上一句中的描述是指代表分钟和秒的成员变量;它只是指输入值。