java字符串-把字符串转为整数

把字符串转换成整数

http://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e

题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
返回值描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1
输入
"+2147483647"
返回值
2147483647
示例2
输入
"1a33"
返回值
0

解题思路
前判断前边是否有正负,记录下符号位
之后判断各位是否为数字,然后计算即可

Java代码

public class Solution {
    public int StrToInt(String str) {
        if(str.length()==0) return 0;
        int flag=1;
        int ans=0;
        char[] s=str.toCharArray();
        int i=0;
        if(s[0]=='+'|| s[0]=='-'){
            i=1;
            if( s[0]=='-') flag=-1;
        }
        for(;i<s.length;i++){
            if(s[i]>='0' && s[i]<='9'){
                int tmp=(s[i]-'0');
                ans=10*ans+tmp;
            }
            else{
                break;
            }
        }
        if(i==s.length) return flag*ans;
        return 0;
    }
}
全部评论

相关推荐

05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务