溢位問題
32位的int型別數字范圍是[-231,231-1],翻轉可能會導致溢位,如果反轉后的結果會溢位就回傳 0,
解決數字倒序問題,思路:x%10,x/10
一個大的數字%10就可以獲的其個位上的數字,以此型別直到為0,
public static void main(String[] args){
int number = 54321;
}
public static int text(int x){
int opp;
int number1=0;
while(x!=0){
opp=x%10;
//資料溢位時放回0
//32位int型數字最大值個位是7
if(number1>Integer.MAX_VALUE/10||number1==Integer.MAX_VALUE&&opp>7)
return 0;
//32位int型數字最小值個位是-8
if(number1<Integer.MIN_VALUE/10||number1==Integer.MIN_VALUE&&opp<-8)
return 0;
number1=number1*10+opp;
x/=10;//每次回圈結束,數字減少一位
return number1;
}
}
運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272219.html
標籤:java
上一篇:迷宮問題
下一篇:阿杰初探Java
