String转int

来源:互联网 发布:淘宝鞋店知乎 编辑:程序博客网 时间:2024/05/29 17:39
题目:将String转int
public class Solution {    public int atoi(String str) {        Integer num = null;        int index = 0;        char[] c = str.trim().toCharArray();        if (c.length==0)            return 0;        String s = "";        for (int i=0;i<c.length;i++){            if ((c[i] == '-' || c[i] == '+' )&&index==0){                    s += c[i];                    index++;            }            else if ((c[i] == '-' || c[i] == '+' )&&index!=0)                    break;            else if (c[i]-'0'>-1 && c[i]-'9'<1)                    s += c[i];            else                    break;        }        if (s.length()==1&&(s.startsWith("+")||s.startsWith("-")) || s.length()==0)            return 0;        try{            num = new Integer(s);        }catch (NumberFormatException e){            if (s.startsWith("-"))                return Integer.MIN_VALUE;            else                return Integer.MAX_VALUE;        }        return num;    }}


本身为简单题,但是其中的细节非常多,可以用来考测试。
需要注意的有:
1、String中可能有非数字的符号
2、String中有征服号
3、int越界

4、String为空


0 0
原创粉丝点击