在Java中乘以字符串

时间:2014-06-27 14:40:14

标签: java python string

在Python中,我可以这样做:print(“a”* 2);

输出= aa

Java中有没有办法在没有循环的情况下做同样的事情?

3 个答案:

答案 0 :(得分:3)

试试这个:

String buildString(char c, int n) {
    char[] arr = new char[n];
    Arrays.fill(arr, c);
    return new String(arr);
}

Arrays.fill()standard API method,它将给定值分配给给定数组的每个元素。我觉得从技术上来说,为了达到这个目的,它会在内部循环,但从你的程序的角度来看,你已经避免了循环。

答案 1 :(得分: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次(要乘以的数字),并将String s附加到每个循环的StringBuilder。我的假设是python对此使用相同的逻辑,它只是一个内置的功能,所以你的时间不应该与编写自己的function不同。

答案 2 :(得分:-1)

不,你只能在循环中做到这一点