题目要求
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/1000
与sum%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);
}
}