题目:
把字符串转化为整数
代码实现:
public static boolean g_status = true; //代表是否非法输入
public static boolean g_overflow = false; //代表是否溢出
public static int strToInt(String str) {
if (str == "" || str.length() == 0) {
g_status = false; //输入非法
return 0;
}
char[] c = str.toCharArray();
boolean flag = true;//表示正负号
int i= 0;
if(c[0] == '-'){
flag = false; //表示负号
i++;
}
int sum = 0;
for(; i < c.length; i++){
if(c[i] == '+' && i == 0){
flag = true; //表示正号
continue;
}
if(c[i] < '0' || c[i] > '9'){
g_status = false; //表示非法输入
return 0;
}
sum = sum * 10 + c[i] - '0';
if((flag && sum > Integer.MAX_VALUE) || (flag && sum < Integer.MIN_VALUE)){
sum = 0;
g_overflow = true;
return 0;
}
}
return flag ? sum : sum * -1;
}