传送门:把字符串转换成一个整数
思路: 先处理符合位,将其保存起来。 再将字符串转为字符数组,通过ASC||检查其中是否有别的字符 。
最后从左往右 读取 字符数组中的值
public class Main {
public int StrToInt(String str) {
if (str==""|| str.length()==0) return 0;
if ( ( str.charAt(0)=='+' ||str.charAt(0)=='-' )&& str.length()==1) return 0;
int ret = 0 , flag =1;
if (str.charAt(0)=='-'){
flag = -1;
}
if ( str.charAt(0)=='+' ||str.charAt(0)=='-' ){
str = str.substring(1,str.length());
}
char[] chars = str.toCharArray();
for (int i = 0; i <chars.length ; i++) {
if (chars[i]<48 || chars[i]>57){
return 0;
}
ret = ret*10 + chars[i]-48;
}
return ret*flag;
}
}