//小红书测试:反转一个整数数字,输入为32位signed integer。反转后溢出则返回 0 。
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
//注:输入定义为32位Int类型,输入溢出会报错;
//输出定义为Long,使溢出不报错,才能定义返回值。
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int a= sc.nextInt();
reverse(a);
}
}
public static void reverse(int a){
//考虑符号,否则转Long时报错
int a1 = Math.abs(a);
String str = Integer.toString(a1);
StringBuffer bf = new StringBuffer(str);
//调用StringBuffer的reverse()方法
StringBuffer aa = bf.reverse();
String reverse_ = aa.toString();
Long lg = Long.parseLong(reverse_);
if(lg>Integer.MAX_VALUE){
System.out.println(0);
}else System.out.println(a>0?lg:-lg);
}
}
(10.31)反转一个整数数字,输入为32位signed integer。反转后溢出则返回 0 。
最新推荐文章于 2021-02-26 19:04:50 发布
本文介绍了一种使用Java实现的整数反转算法,该算法能够处理32位带符号整数,并确保反转后的结果不会超出整数范围。通过实例演示了如何读取用户输入并反转整数。
1464

被折叠的 条评论
为什么被折叠?



