繁体   English   中英

返回一个空字符串而不是 null

[英]Returning an empty String instead of null

public class Test {
    public static String MakeSequence(int N)
    {
        int j;
        N=5;
        for (N=5;N>=1;--N)
        {
            for(j=1;j<N+1;++j)
            {
                return MakeSequence(5);
            }
        }
        
        if (N<1)
        {
            String x = "";
            System.out.println(x.isEmpty());
        }
    }
}

我想在 N=5 时返回序列 555554444333221 并在输入参数 N 小于 1 时返回一个空字符串,但我不确定如何修改我制作的代码

简单,不要添加额外的检查:

public static String makeSequence(int N) {
    StringBuilder buf = new StringBuilder();

    while (N > 0) {
        buf.append(String.valueOf(N).repeat(N));
        N--;
    }

    return buf.toString();
}
public class Test {
    public static String makeSequence(int n) {
        String value = " ";
        for (int i = n; i >= 1; --i) {

            for (int j = 1; j < i + 1; ++j) {
                value+= i;
            }
        }

        return value;

    }

    public static void main(String[] args) {
        final String s = makeSequence(5);
        System.out.println(s);
    }
}

在您的代码中,您总是尝试分配 5 而不是考虑将值发送给方法。 上述解决方案返回序列,如果参数 N(在代码中我使用 n)小于 1,则返回空字符串。 仅供参考:作为最佳实践,我们以简单的字母开头变量和方法名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM