将字符串从右往左每3位加一个逗号

import java.util.Scanner;

/**
 * @Description     将字符串从右每3位加一个逗号
 * @Version V1.0 2018/12/12 18:48
 * @Author shysin
 **/
public class StringConvertSplit {
    public static void main(String[] args) {

        System.out.print("请输入一串数字:");
        Scanner sc = new Scanner(System.in);
        String num = sc.next();

        //分割字符串返回一个String数组
        String[] nums = num.split("");
        //计算需要添加","的数量
        int a = nums.length / 3;
        String[] tmp = new String[nums.length+a];

        //反向循环获取字符
        for(int i=nums.length-1,j=nums.length+a-1,s=0; i>=0&&j>=0; i--,j--){

            tmp[j] = nums[i];
            s++;
            //如果是3位,则在下一位填一个","
            if(s % 3  == 0){
                tmp[j] = nums[i];
                j--;
                tmp[j] = ",";
            }
        }
        //去除每3位数字前面的",",如果不加,则输入 "123" ,将会输出 ",123"。当然,也可以在上方代码判断,不过这样更简单
        if((tmp.length-a) % 3 == 0){
            tmp[0] = "";
        }
        for(String x : tmp){
            System.out.print(x);
        }
    }
}

// 版权声明:本文为博主原创文章,转载请标明原文链接:http://www.cnblogs.com/shiysin/p/shiysin.html

猜你喜欢

转载自www.cnblogs.com/shiysin/p/10112464.html
今日推荐