题目描述:
对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?
输入描述 : 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。
输出描述 : 输出rev(rev(x) + rev(y))的值
问题分析:该题目主要实现数字的翻转,翻转后如果前面有0,则去掉就好。
import java.util.Scanner; /** * Created by admin on 2016/10/9. * 对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? */ public class Rev { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(Rev.rev(Rev.rev(a)+Rev.rev(b))); } public static int rev(int n){ String str = n+""; StringBuffer sb = new StringBuffer(); for(int i=str.length()-1;i>=0;i--){ sb.append(str.charAt(i)); } return Integer.parseInt(Rev.Delete_Zero(sb.toString())); } //去掉字符串前面的零 public static String Delete_Zero(String str){ return str.replaceAll("^(0+)", ""); } }