为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1。
解题思路:
利用String类中的reverse(翻转)方法解决。我写了两种一个是在main中直接输出,另一个也是一样的思路但写了一个方法比较麻烦但是好理解。
package wangyi2; import java.io.InputStream; import java.io.ObjectInputStream.GetField; import java.util.Scanner; import out.MemberOut.Inner; public class Main { static public String getNum(int n) throws Exception { int s = 0; if (n >= 1 && n <= 100000) { String str = String.valueOf(n); StringBuffer strb = new StringBuffer(str); str = strb.reverse().toString(); int rn = Integer.parseInt(str); s = n + rn; } else { System.out.println("请输入要求范围内的数"); } return String.valueOf(s); } public static void main(String[] args) { Scanner in = new Scanner(System.in); try { // System.out.println(Main.getNum(in.nextInt())); System.out.println(Integer.parseInt(in.next()) + Integer.parseInt(new StringBuffer(in.next()).reverse() .toString())); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }