「笔试刷题」:添加逗号

一、题目

描述

对于一个较大的整数 N(1<=N<=2,000,000,000)

比如 980364535,我们常常需要一位一位数这个数字是几位数,但是如果在这 个数字每三位加一个逗号,它会变得更加易于朗读。

因此,这个数字加上逗号成如下的模样:980,364,535请写一个程序帮她完成这件事情

输入描述:

一行一个整数 N

输出描述:

一行一个字符串表示添加完逗号的结果

示例1

输入:

复制代码
980364535

输出:

复制代码
980,364,535

备注:

复制代码
1≤n≤2,000,000,000

二、思路解析

这道题也是一道不算很难的模拟题,但我刚开始,实在是想不出咋落笔,就去逛了下评论区。

这不,念头一转,黄金万两。

通过一个 StringBuffer,从后开始往前添加字符串,然后用一个 count 变量来计数,每 3 个数就 append 一个 " , " 就完了。

最后逆序一下打印就行啦,具体实现请看下面代码👇

三、完整代码

复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char[] N = in.next().toCharArray();
        int num = N.length;
        StringBuffer ret = new StringBuffer();
        int count = 0;
        for(int i = num - 1; i >= 0; i--){
            if(count == 3){
                ret.append(',');
                count = 0;
            }
            ret.append(N[i]);
            count++;
        }
        System.out.println(ret.reverse().toString());
    }
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

相关推荐
SL_staff4 小时前
制造订单交付闭环实践:用跨部门计划模板解决缺料-停机-返工三角死循环
java·开源·产品
device_Any4 小时前
接口文档写着三个字段,接口返回了五个
android·java·linux
CCblandy4 小时前
缓存淘汰实测:一次全表扫描把 LRU 命中率从 46% 打到 38%,W-TinyLFU 守住 50% 却贵 11 倍
后端·python·缓存·性能优化·架构
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 小视频模块实战:访客记录、FastDFS 存储与 SpringCache 缓存
java·缓存·交友
BuHuaX4 小时前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
xys_6784 小时前
深挖C++:C++入门基础
开发语言·c++
汤米粥4 小时前
cmd手动创建的Django项目怎么用社区版Pycharm运行起来
python·pycharm·django
香蕉大香蕉(06敬畏市场)4 小时前
MySQL 单点详解(09)
java·数据库·mysql·面试·八股·大厂实习
涵玥4 小时前
python题目练习12-小玉家的电费//小玉在游泳//小鱼的航程
python·python每日一练·洛谷题目
计算机毕业编程指导师4 小时前
基于深度学习的花卉图像分类识别系统(PyTorch + ResNet50 + Django)
pytorch·python·深度学习·分类·毕业设计·迁移学习·图像分类