publicclass{ publicintStrToInt(String str){ if(str.trim().equals("")){ return0; } int sum = 0; int flag = 1; if(str.charAt(0) =='+'||str.charAt(0)=='-'){ if(str.charAt(0)=='-') { flag = -1; } sum = cal(str,1,str.length(),flag); }else{ sum = cal(str,0,str.length(),flag);
} return sum*flag; }
privateintcal(String str, int start, int end,int flag){ int sum = 0; for(int i = start;i<end;i++){ if(str.charAt(i)>='0' &&str.charAt(i)<='9'){ if(flag == 1 && sum>Integer.MAX_VALUE) thrownew RuntimeException("上溢出"); if(flag == -1 && sum<Integer.MIN_VALUE) thrownew RuntimeException("下溢出"); sum = sum*10+str.charAt(i)-'0'; }else{ return0; } } return sum; }
近期评论