把字符串转换成整数-java

把字符串转换成整数

题目描述

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

+2147483647
1a33

输出

2147483647
0

public class Solution {
    /*
    解题思路:
    边界条件:数据上下 溢出;空字符串;有无正负号*/
    public int StrToInt(String str) {
        if (str.equals("") || str.length() == 0)
            return 0;
        char[] temp = str.toCharArray();
        int symbol = 0;//+
        if (temp[0] == '-')
            symbol = 1;//-
        int sum = 0;
        for (int i = symbol; i < temp.length; i++)
        {
            if (temp[i] == '+')
                continue;
            if (temp[i] < 48 || temp[i] > 57)//ASCII表48~57:0~9
                return 0;
            sum = sum * 10 + temp[i] - 48;
        }
        return symbol == 0 ? sum : sum * -1;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符串转换成整数 题目描述: 输入一个由数字组成的字符串,把它转换成整数并输出。例如:输入字符串"123",输出整...
    MinoyJet阅读 4,983评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,448评论 0 4
  • 在c语言中,字符串是用字符数组来存储的(并不像c++或者java等语言中有单独的string类型), 存放时在字符...
    朱森阅读 5,472评论 0 2
  • 津渡(21)请客 津渡目录 东方传呼机上,石佳慧有三条记录,第一条是“东方哥,你在哪儿,我给你带了好多好吃的”;第...
    大尾巴狗阅读 3,895评论 0 3