在Java中重复字符串
在Python中,我可以这样做:print("a" * 2);
输出结果是:aa
那么在Java中,有没有办法做到同样的事情,而不使用循环呢?
2 个回答
3
虽然Java没有内置的方法来做到这一点,但你可以用几行代码很简单地实现,方法是使用一个 StringBuilder
。
public static void main(String[] args) throws Exception {
System.out.println(stringMultiply("a", 2));
}
public static String stringMultiply(String s, int n){
StringBuilder sb = new StringBuilder();
for(int i = 0; i < n; i++){
sb.append(s);
}
return sb.toString();
}
上面的函数 stringMultiply
基本上做的就是这个。它会循环 n
次(也就是你想要乘的次数),每次循环都会把字符串 s
添加到 StringBuilder
中。我猜 python
也是用类似的逻辑,只不过它有这个功能是内置的,所以自己写一个 function
的时间应该不会差太多。
3
试试这个:
String buildString(char c, int n) {
char[] arr = new char[n];
Arrays.fill(arr, c);
return new String(arr);
}
Arrays.fill()
是一个标准的API方法,它的作用是把你给定的值填充到指定数组的每一个元素里。可以说,它在内部会进行循环操作来完成这个任务,但从你的程序来看,你就不需要自己写循环了。