12345--->12,345
12345677-->12,345,677
用两种方法实现1,JAVA的formater实现
              2. 不用formaterpublic String convert(int) {}

解决方案 »

  1.   

    Java format
    public String convert(int i)
    {
    DecimalFormat format = new DecimalFormat("###,###");
    format.format(i);
    }
    2. 不用formater 
    public String convert(int i)
    {
    StringBuffer sb = new StringBuffer();
    int j = 0;
    while(i/10 > 0)
    {
    int temp = i%10;
    i = i/10;
    sb.insert(0, temp);
    j++;
    if(j%3 == 0)
    {
    sb.insert(0,",");
    }
    }
    sb.insert(0,i);
    return sb.toString();
    }
      

  2.   

    为什么我这样写就有错呢
    StringBuffer buffer = new StringBuffer(k);
    buffer.length() 得到的长度一直是为0
      

  3.   

    StringBuffer(int capacity) 
              构造一个不带字符,但具有指定初始容量的字符串缓冲区。capacity() 和 length() 有什么区别?
      

  4.   

    简单的说capacity是容量,而length是其实际长度。
    你指定一个capacity,如果实际长度没有超过它的话,那么capacity不变。比如你的k如果等10,而你buffer的长度只有5,那么capacity=10;如果你的buffer的length超过了10,那么capacity会被相应的更改,似乎是以这样的规律增加:k=2*(k+1)。