简体   繁体   中英

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());
        }
    }
}

I want to return the sequence 555554444333221 when N=5 and return an empty string if the input parameter N is less than 1, but I'm not sure how to modify the code I made

Be simple and do not add additional checks:

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);
    }
}

In your code, you always try to assign 5 instead of considering the value send to the method. Above solution returns the sequence and if the parameter N(in code I use n) is less than 1 then returns the empty string. FYI: As a best practice we start both variable and method names in simple letters.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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