[英]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.