用栈实现钱币显示问题,逗号分隔三位

用栈实现钱币显示问题,逗号分隔三位

package math;

import java.util.Stack;

public class Test {
public static void main(String args[]){
long i=1234567;
System.out.println(strFormat(i));
long i1=1234567;
System.out.println(strFormat(i1));
long i2=1234567;
System.out.println(strFormat(i2));

}
/*
 * 处理字串型
 */
public static String strFormat(String str){
    Stack<Character> sta =new Stack<Character>();
    StringBuffer sb=new StringBuffer();
    char[] charstr=str.toCharArray();
    for(char a:charstr){
        sta.push(a);
    }
    Stack<String> type= new Stack<String>();
    int i=0;
    while(!sta.empty()){
        if(i%4==0){
            type.push(",");
        } else {
            type.push(sta.pop().toString());
        }
        i++;
    }
    while(!type.empty()){
        String s=type.pop();
        sb.append(s);
    }
    String fs=sb.toString().substring(0,sb.toString().lastIndexOf(","));
    return fs;
}
/*
 * 处理长整形
 */
public static String strFormat(Long l){
    String str=String.valueOf(l);
    Stack<Character> sta =new Stack<Character>();
    StringBuffer sb=new StringBuffer();
    char[] charstr=str.toCharArray();
    for(char a:charstr){
        sta.push(a);
    }
    Stack<String> type= new Stack<String>();
    int i=0;
    while(!sta.empty()){
        if(i%4==0){
            type.push(",");
        } else {
            type.push(sta.pop().toString());
        }
        i++;
    }
    while(!type.empty()){
        String s=type.pop();
        sb.append(s);
    }
    String fs=sb.toString().substring(0,sb.toString().lastIndexOf(","));
    return fs;
}
/*
 * 处理整形
 */
public static String strFormat(int l){
    String str=String.valueOf(l);
    Stack<Character> sta =new Stack<Character>();
    StringBuffer sb=new StringBuffer();
    char[] charstr=str.toCharArray();
    for(char a:charstr){
        sta.push(a);
    }
    Stack<String> type= new Stack<String>();
    int i=0;
    while(!sta.empty()){
        if(i%4==0){
            type.push(",");
        } else {
            type.push(sta.pop().toString());
        }
        i++;
    }
    while(!type.empty()){
        String s=type.pop();
        sb.append(s);
    }
    String fs=sb.toString().substring(0,sb.toString().lastIndexOf(","));
    return fs;
}

}

楼主能否把问题说的详细些?

钱币显示问题是什么?