当前位置:   article > 正文

Java数字反转_java反转数字

java反转数字

今天在做回文数的习题时,遇到了怎么把数字反转的问题,在一番研究之后,习得了以下两种方法。

1、对数字取末位再乘10

  1. package day6;
  2. import java.util.Scanner;
  3. public class NumberReverse {
  4. public static void main(String[] args) {
  5. Scanner sc=new Scanner(System.in);
  6. System.out.println("请输入一个整数");
  7. int num=sc.nextInt();
  8. int b=0;
  9. while(num!=0){
  10. int a=num%10;//每次取个位
  11. b=b*10+a;//翻转
  12. num=num/10;//去掉末位
  13. }
  14. System.out.println(b);
  15. }
  16. }

2.使用字符串反转拼接的方法来实现整数反转

  1. package day6;
  2. import java.util.Scanner;
  3. public class fanzhuan2 {
  4. public static void main(String[] args) {
  5. // 输入一个数字
  6. Scanner sc = new Scanner(System.in);
  7. int x = sc.nextInt();
  8. // 返回反转后的数字
  9. System.out.println(reverse(x));
  10. sc.close();
  11. }
  12. public static int reverse(int x) {
  13. // 将整数转换成字符串
  14. String str = Integer.toString(x);
  15. // 将字符串转换成字符数组
  16. char[] num = str.toCharArray();
  17. // 数组初始值下标
  18. int minIndex = 0;
  19. // 数组长度(最大下标)
  20. int maxIndex = str.length();
  21. // 用字符串缓冲类来拼接字符串
  22. StringBuffer sBuffer = new StringBuffer();
  23. // 查看这个数是不是复数,是就初始下标+1
  24. if (num[0] == '-') {
  25. minIndex++;
  26. }
  27. // 查看这个数最后位数是不是零,是就去掉,上限-1
  28. while (num[--maxIndex] == '0' && maxIndex > 1) {
  29. }
  30. // 字符串的拼接
  31. for (int i = maxIndex; i >= minIndex; i--) {
  32. sBuffer.append(num[i]);
  33. }
  34. // 用try 查看是否报错,报错就说明将字符串转换后的数字超出整形界限 2^31-1(2147483647) 和 -2^31(-2147483648)
  35. try {
  36. // 查看初始值是否是零,来判断是否是复数
  37. return minIndex == 0 ? Integer.valueOf(sBuffer.toString()) : -Integer.valueOf(sBuffer.toString());
  38. } catch (Exception e) {
  39. return 0;
  40. }
  41. }
  42. }

后来在高人指点下,发现在StringBuilder类中的reverse()方法就能实现反转。

  1. package day6;
  2. public class fanzhuan3 {
  3. public static void main(String[] args) {
  4. int a=7412;
  5. String s = String.valueOf(a);
  6. StringBuilder stringBuilder = new StringBuilder(s);
  7. System.out.println(stringBuilder.reverse());
  8. }
  9. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码优化者/article/detail/60494
推荐阅读
相关标签
  

闽ICP备14008679号