1001 A+B Format (20 分)
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 Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
Output Specification:
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
简单翻译:求两个数的和,将和从个位到高位,每三个数由逗号分隔,负号保留,如:-1001 -> -1,001
解析:主要是求和后转成字符串,用字符串的长度 len%3 判断一下是否等于下标 (i+1)%3,注意末尾没有逗号!
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in) ;
int a, b ;
a = input.nextInt() ;
b = input.nextInt() ;
String sum = Integer.toString(a + b) ;
int i ;
int len = sum.length() ;
for(i=0; i<len; i++) {
System.out.printf("%c", sum.charAt(i)) ;
if(sum.charAt(i) == '-') continue ;
if((i + 1) % 3 == len % 3 && i != len - 1) {
System.out.printf(",") ;
}
}
System.out.println() ;
}
}