12. Integer to Roman StringBuilder的运用以及StringBuffer和StringBuilder的比较

xiaoxiao2021-02-28  129

public class Solution { public String intToRoman(int num) { int[] values = {1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] strs = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; StringBuilder ans = new StringBuilder(); for(int i=0;i<values.length;i++){ while(num>=values[i]){ num=num-values[i]; ans.append(strs[i]); } } return ans.toString(); } }StringBuilder类有几个常用的方法:

1) append 方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder对象表示的字符串的结尾处

2) Insert 方法将字符串或对象添加到当前 StringBuilder中的指定位置。以下示例使用此方法将一个单词插入到 StringBuilder的第六个位置。 StringBuilderMyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Insert(6,"Beautiful "); Console.WriteLine(MyStringBuilder); 此示例将 Hello BeautifulWorld!显示到控制台。

3)可以使用 Remove方法从当前 StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。以下示例使用 Remove方法缩短 StringBuilder StringBuilderMyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Remove(5,7); Console.WriteLine(MyStringBuilder); 此示例将 Hello显示到控制台。 4)使用 Replace方法,可以用另一个指定的字符来替换 StringBuilder对象内的字符。以下示例使用 Replace方法来搜索 StringBuilder对象,查找所有的感叹号字符 (!),并用问号字符 (?)来替换它们。 StringBuilderMyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Replace('!', '?'); Console.WriteLine(MyStringBuilder); StringBuilder 和 StringBuffer的区别: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全)

参考:http://blog.csdn.net/rmn190/article/details/1492013

转载请注明原文地址: https://www.6miu.com/read-42128.html

最新回复(0)