有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我应该如何格式化我的return语句,这样我就不会重复答案了?

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) 个答案

  1. # 1 楼答案

    由于代码中有很多小错误,我将建议一种稍微不同的方法。我不确定这个方法是否有效,我假设它是Java,但试一试:

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

    这实际上是一个if/else缩写。返回以下内容:如果值<;=9然后在该值之前加一个零,否则为该值

    如果存在收到负值的风险,您可以添加以下内容:

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

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

    祝你好运

  2. # 2 楼答案

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