编程java实现:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
时间: 2024-05-10 14:21:09 浏览: 110
好的,我现在明白你的要求了。以下是我的Java代码实现,可以将一个字符串转换成一个整数:
```java
public int strToInt(String str) {
if(str == null || str.length() == 0) {
return 0;
}
char[] chars = str.toCharArray();
int sign = 1;
int index = 0;
if(chars[0] == '+') {
sign = 1;
index++;
}
else if(chars[0] == '-') {
sign = -1;
index++;
}
int result = 0;
for(int i = index; i < chars.length; i++) {
if(chars[i] < '0' || chars[i] > '9') {
return 0;
}
int digit = chars[i] - '0';
if(Integer.MAX_VALUE / 10 < result || (Integer.MAX_VALUE / 10 == result && digit > Integer.MAX_VALUE % 10)) {
return sign == 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE;
}
result = result * 10 + digit;
}
return sign * result;
}
```
这段代码实现了字符串转整数的功能,处理了正负号和非法字符串的情况,并且避免了整数溢出的问题。希望能对你有所帮助。
阅读全文