标题
整数反转
问题描述
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
题目要求
要求输入一个整数,有对应输出。
输入格式
x = 123
输出格式
321
输入格式
x = -123
输出格式
-321
输入格式
x = 120
输出格式
21
输入格式
x = 0
输出格式
0
提示
-231 <= x <= 231 - 1
考察内容*
调用函数
调用java.util.Scanner
解题思路*
1.输入一个整数
2.判断范围,不在[−231, 231 − 1]范围内 ,就返回 0
3.result存储反转后的结果:result = result * 10 + num % 10
核心代码*
package test_1;
import java.util.Scanner;
//Reverse 反转
public class Reverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数(返回反转后的结果):");
int num = sc.nextInt();
System.out.println(num + "反转后的结果:" + result(num));
}
public static int result(int num) {
if (num > 230 || num < -231 || num == 0) {
return 0;
} else {
int result = 0;
while (num != 0) {
result = result * 10 + num % 10;
num /= 10;
}
return result;
}
}
}