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;
    }
}
全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
程序员牛肉:你这其实一点都没包装,标准的流水线产品。 实习现在不一定能解决你的问题,你太浮躁了。你看了多少源码?看了多少技术博客?真的没必要这么浮躁的着急找实习,沉下心来学习
投递实习岗位前的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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