Guest User

Untitled

a guest
Jul 18th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. public class ReverseInteger {
  2. public static void main(String[] args) {
  3.  
  4.  
  5. System.out.println(reverse(123));
  6. System.out.println(reverse(-123));
  7.  
  8. }
  9.  
  10. /**
  11. *
  12. * @param number
  13. * @return
  14. */
  15.  
  16. static int reverse(int number) {
  17. boolean neg = false ;
  18. int res = 0 ;
  19.  
  20. if( number < 0 ) { neg = true ; number = number * -1; }
  21.  
  22. int pos = 1 ;
  23. while (number > 0) {
  24. res = res * 10;
  25.  
  26. int n = getPosition(number, pos) ;
  27.  
  28. number -= n * Math.pow(10, pos - 1 ) ;
  29. pos ++ ;
  30.  
  31. res += n;
  32. }
  33.  
  34.  
  35. if (neg) return res * -1 ;
  36.  
  37.  
  38. return res;
  39.  
  40.  
  41. }
  42.  
  43. /**
  44. * the formula (number / 10^(n-1)) % 10 enables us to get
  45. * number at specific integer
  46. *
  47. * @param number the current number
  48. * @param pos the position of interest
  49. * @return the integer at specific integer
  50. */
  51.  
  52. static int getPosition(int number, int pos) {
  53. return (int) ( number / Math.pow(10, pos - 1) % 10);
  54. }
  55.  
  56.  
  57. }
Add Comment
Please, Sign In to add comment