//小红书测试:反转一个整数数字,输入为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-09-11 23:17:03 发布