为Java初学者复制字符串n次
我正在学校学习AP计算机科学课程,想知道如何回答这个问题: 编写一个名为copies的方法,该方法以字符串s和非负整数n作为参数,返回由s的n个副本串联而成的字符串 我已经试过了,但不能将字符串相乘:为Java初学者复制字符串n次,java,string,while-loop,copy,concatenation,Java,String,While Loop,Copy,Concatenation,我正在学校学习AP计算机科学课程,想知道如何回答这个问题: 编写一个名为copies的方法,该方法以字符串s和非负整数n作为参数,返回由s的n个副本串联而成的字符串 我已经试过了,但不能将字符串相乘: public String copies (String s, int n) { int copyCount; copyCount = 0; while ( n > 0 ) { s = s * n; n = n - 1; }
public String copies (String s, int n) {
int copyCount;
copyCount = 0;
while ( n > 0 ) {
s = s * n;
n = n - 1;
}
return s;
}
我知道以前也回答过类似的问题,但我正在寻找一种方法,使用only if语句和while循环来实现这一点。到目前为止,我们班还没有取得任何成绩,所以如果有人知道如何做到这一点,我们将不胜感激
更新:当我使用0作为n时,我还需要能够显示“”。类似的内容应该可以满足您的需要 更新为在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();
}
公共字符串副本(字符串s int n){
StringBuilder sb=新的StringBuilder();
如果(n>0){
int i=0;
而(i
这里有一种方法
String copies(String s, int n) {
StringBuilder builder = new StringBuilder();
for (int count = 0; count < n; ++count)
builder.append(s);
return builder.toString();
}
字符串副本(字符串s,int n){
StringBuilder=新的StringBuilder();
用于(整数计数=0;计数
我选择将
用于而不是一段时间(用于清洁),但是您应该能够非常轻松地制作所需的任何mod:p如果您想创建字符串s的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;
}
//返回一个字符串,其中包含s的n个副本。
公共静态字符串副本(字符串s,int n){
//超过0?
如果(n>0){
StringBuilder sb=新的StringBuilder();
int i=0;
而(i
ahem。您尝试过什么?您可以通过编写代码来回答。如果
,您不需要,,而
就足够了。发布一些您尝试过的内容!为什么不尝试使用if语句,看看它是否与您的atempts一起工作?使用if
,您可以实现什么功能?它可以防止非负intsCan,您可以解释StringBuilder吗?我也没有做到这一点。非负
表示正或零。OP明确指出:“非负整数n”您可以通过执行String s=“a”连接字符串;s=s+“b”,这将返回阿布:但这是低效的。StringBuilder是连接字符串的一种更有效的方法,是标准JDK的一部分。您能解释一下StringBuilder吗?我也没有做到这点。@WaldoAldoOswaldo这是java中使用可变字符串的首选方法。您也可以使用StringBuffer
,但这是大多数人不赞成的。关键是要避免字符串连接。你能解释一下StringBuilder吗?字符串在Java中是不可变的。当您在java中的两个字符串上使用+
运算符(例如“Hello”+“World”
)时,String类使用内部StringBuilder(或在较旧的java版本上使用StringBuffer)来执行该操作。看一看