java编程实现:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
时间: 2024-05-15 12:17:53 浏览: 95
好的,根据您的要求,我可以提供以下代码实现:
```
public int strToInt(String str) {
if (str == null || str.length() == 0) {
return 0;
}
int res = 0;
int sign = 1;
int i = 0;
if (str.charAt(i) == '-') {
sign = -1;
i++;
} else if (str.charAt(i) == '+') {
i++;
}
for (; i < str.length(); i++) {
char c = str.charAt(i);
if (c < '0' || c > '9') {
return 0;
}
int num = c - '0';
if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && num > 7)) {
return 0;
}
res = res * 10 + num;
}
return sign * res;
}
```
这个方法会先判断字符串是否为空,如果是则返回0;然后会判断符号位,如果有则记录符号,并将指针i向后移一位;接着循环遍历字符串的每个字符,如果某个字符不是数字,则直接返回0;如果是数字,则累加到结果中,并判断结果是否超过整数范围。
希望能够帮到您。
阅读全文