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

来源:互联网 发布:梳棉机工艺优化 编辑:程序博客网 时间:2024/06/05 23:42

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



0 0
原创粉丝点击