所以我想做的就是回复:
输入为createMixedString(Hello,there,3)
我希望输出HellothereHellothereHellothere
我的问题是当它运行时它只返回Hellothere
,好像程序没有看到我在for循环中重新分配。
public static String createMixedString(String s1, String s2, int n) {
String result = s1+s2;
for (int i=0;i>=n;i++) {
result = result+s1+s2;
}
return result;
}
答案 0 :(得分:1)
你的情况有误,应该是 i< n ,如:
public static String createMixedString(String s1, String s2, int n) {
String result = s1+s2;
for (int i=0; i < n; i++) {
result = result+s1+s2;
}
return result;
}
答案 1 :(得分:1)
请考虑以下事项:
public static String createMixedString(String s1, String s2, int n) {
StringBuilder s = new StringBuilder();
for (int i = 0; i < n; i++) {
s.append(s1);
s.append(s2);
}
return s.toString();
}
请注意,检查条件会检查i
是否仍然小于n
,而不是i >= n
时检查,这是没有意义的。另外,如果你连接字符串,使用StringBuilder
会更有效率。
答案 2 :(得分:1)
为什么不使用StringUtils.repeat它会为你做同样的事情,所以你可以做到以下几点:
public static String createMixedString(String s1, String s2, int n) {
String result = s1 + s2;
return StringUtils.repeat(result, n);
}
这应该按你想要的方式工作
答案 3 :(得分:0)
0 >= 3
条件永远不会满足。它应i < n
。因为我从0开始,它应该是<
而不是&lt; =
for (int i=0;i<n;i++) {
result = result+s1+s2;
}
答案 4 :(得分:0)
循环条件i>=n
可能应为i<=n
。
答案 5 :(得分:0)
您的循环结束条件是问题,将其更改为i&lt; Ñ