方法一:app
String.format("%0" + n + "d", 0).replace("0",s);ide
方法二:性能
new String(new char[n]).replace("\0", s);測試
方法三:(JAVA 8)spa
String.join("", Collections.nCopies(n, s));code
方法四:orm
1 public static String repeatString(String str, int n, String seg) { 2 StringBuffer sb = new StringBuffer(); 3 for (int i = 0; i < n; i++) { 4 sb.append(str).append(seg); 5 } 6 return sb.substring(0, sb.length() - seg.length()); 7 }
執行次數1000_000blog
耗時毫秒string
1797io
593
167
142
根據前面的總結和測試,相對而言,3和4的耗時比較少,屢次測試的結果4都比3用時更少一點。
注重性能就選擇3或4
|--根據以上方法寫一個給出n,輸出n位數最小值方法
1 //輸入1,輸出1; 輸入2,輸出10; 輸入3,輸出100; 輸入4,輸出1000; 2 public static String convert(int n) { 3 String temp = "0"; 4 String result = "1" + String.join("", Collections.nCopies(n - 1, temp)); 5 return result; 6 }