/**
*
* @author gentleKay
* Reverse digits of an integer.
* Example1: x = 123, return 321
* Example2: x = -123, return -321
* click to show spoilers.
* Have you thought about this?
* Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!
* If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.]
* Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows.
* How should you handle such cases?
* Throw an exception? Good, but what if throwing an exception is not an option?
* You would then have to re-design the function (ie, add an extra parameter).
*
* 整数的倒数。
* 示例1:x=123,返回321
* 示例2:x=-123,返回-321
* 单击以显示扰流器。
* 你想过这个吗?
* 在编码之前,这里有一些好问题要问。如果你已经考虑过了,就可以给你加分!
* 如果整数的最后一位是0,那么输出应该是什么?例如,10,100个案例。
* 您注意到反转的整数可能溢出吗?假设输入是32位整数,则10000000003的反向溢出。
* 你该如何处理这些案件?
* 是否引发异常?很好,但是如果抛出异常不是一种选择呢?
* 然后您必须重新设计函数(即,添加一个额外的参数)。
*/
/** * * @author gentleKay * Reverse digits of an integer. * Example1: x = 123, return 321 * Example2: x = -123, return -321 * click to show spoilers. * Have you thought about this? * Here are some good questions to ask before coding. Bonus points for you if you have already thought through this! * If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.] * Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. * How should you handle such cases? * Throw an exception? Good, but what if throwing an exception is not an option? * You would then have to re-design the function (ie, add an extra parameter). * * 整数的倒数。 * 示例1:x=123,返回321 * 示例2:x=-123,返回-321 * 单击以显示扰流器。 * 你想过这个吗? * 在编码之前,这里有一些好问题要问。如果你已经考虑过了,就可以给你加分! * 如果整数的最后一位是0,那么输出应该是什么?例如,10,100个案例。 * 您注意到反转的整数可能溢出吗?假设输入是32位整数,则10000000003的反向溢出。 * 你该如何处理这些案件? * 是否引发异常?很好,但是如果抛出异常不是一种选择呢? * 然后您必须重新设计函数(即,添加一个额外的参数)。 */ public class Main07 { public static void main(String[] args) { int x = -345; System.out.println(Main07.reverse(x)); } public static int reverse(int x) { StringBuilder sb = new StringBuilder(Integer.toString(x)); StringBuilder sb2 = new StringBuilder("-"); String str = ""; if (x >= 0) { sb = sb.reverse(); str = sb.substring(0); }else { sb = sb2.append(sb.reverse()); str = sb.substring(0,sb.length()-1); } return Integer.parseInt(str); } }