A+B Format (20)的JAVA实现

题目要求

Calculate a + b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).
Input
Each input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.
Output
For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.
Sample Input
-1000000 9
Sample Output
-999,991

最近没事来刷刷题,第一道就是这道题,其实这个题目并不复杂。我们需要考虑的是如何做到三位输出逗号。

首先我先想到的是sum/1000sum%1000结合,但是后来发现并不能完全满足要求。因为我们需要把上面的结果倒过来输出,这就可以了。

倒过来我们首先想到的就是String类了,可能也会想到数组,但是由于我们数组的长度无法确定,所以很快就pass掉。

具体实现为

/**
 * Created by junwa on 2017/3/27 by IDEA.
 */

package com.junwa;

public class a_and_b {
    public static void and_b(int a,int b){
        int c,d = 0;
        c = a + b;
        System.out.println(c);
        if(c<0){
            c = -c;
            System.out.print("-");
        }
        String c1 = String.valueOf(c);
        int count = 0;
        String sum = "";
        for(int i=c1.length()-1;i>=0;i--){
            sum = c1.charAt(i) + sum;
            count++;
            if(count%3==0&&i!=0){
                sum = "," + sum;
            }
        }
        System.out.println(sum);
    }

    public static void main(String[] args) {
    //举个小例子
        and_b(-10000000,200);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值