-4

我只发现了这个,但它不起作用,如果有人帮助我,我将非常感激,因为我是 Java 新手,这让我很生气,哈哈:

public class ConcatenateStrings {
    public static String concateLines(String[] s, String separator) {
        String result = "";  
        if (s.length > 0) {  
            result = s[0];    // start with the first element  
            for (int i = 1; i < s.length; i++) {  
                StringBuilder sb = new StringBuilder(result);  
                sb.append(separator);  
                sb.append(s[i]);  
                result = sb.toString();
            }
        }
        return result;
    }
}
4

1 回答 1

3

不要StringBuilder每次都创建一个新的。

public class ConcatenateStrings {
    public static String concateLines(String[] s, String separator) {
        String result = "";  
        StringBuilder sb = new StringBuilder();
        if (s.length > 0) {  
            sb.append(s[0]);
            for (int i = 1; i < s.length; i++) {        
                sb.append(separator);  
                sb.append(s[i]);  
            }
        }
        return sb.toString();
    }
}

public static void main(String[] args) {
 String[] input = {"Test", "input"};
 System.out.println(ConcatenateStrings.concateLines(input, ","));
}

或使用用户输入:

public static void main(String[] args) {
 System.out.println(ConcatenateStrings.concateLines(args, ","));
}

如您所见,您甚至可以删除该result变量。

于 2013-11-13T12:59:49.960 回答