我正在我的学校修读AP计算机科学课程,并想知道如何回答这个问题:
编写一个名为副本的方法,作为参数给出一个字符串s和一个非负整数n,返回由连接n个副本组成的字符串。
我试过这个,但你不能成倍增加字符串:
public String copies (String s, int n) {
int copyCount;
copyCount = 0;
while ( n > 0 ) {
s = s * n;
n = n - 1;
}
return s;
}
我知道之前已经回答了类似的问题,但我正在寻找一种方法,只使用if语句和while循环。到目前为止,我们班上还没有做过任何事情,所以如果有人知道如何做到这一点,我们将非常感激。
更新:当我使用0作为n时,我还需要能够显示“”。
答案 0 :(得分:1)
这样的事情应该做你需要的。
当n = 0时,更新显示“”
public String copies(String s int n) {
StringBuilder sb = new StringBuilder();
if (n > 0) {
int i = 0;
while (i < n) {
sb.append(s);
i++;
}
}
return sb.toString();
}
答案 1 :(得分:1)
这是一种方法。
String copies(String s, int n) {
StringBuilder builder = new StringBuilder();
for (int count = 0; count < n; ++count)
builder.append(s);
return builder.toString();
}
我选择使用for
代替一段时间(清洁度),但您应该可以轻松制作任何需要的mod:p
答案 2 :(得分:0)
如果你想创建String的int n副本,你应该尝试这样的
// Return a String, containing n copies of s.
public static String copies(String s, int n) {
// More then 0?
if (n > 0) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < n) {
sb.append(s);
i++;
}
return sb.toString();
}
// Just return the input.
return s;
}