博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer-把字符串转换成整数
阅读量:5219 次
发布时间:2019-06-14

本文共 1803 字,大约阅读时间需要 6 分钟。

package String;/** * 把字符串转换成整数 * 题目描述 * 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 * 输入描述: * 输入一个字符串,包括数字字母符号,可以为空 * 输出描述: * 如果是合法的数值表达则返回该数字,否则返回0 * 示例1 * 输入 * +2147483647 * 1a33 * 输出 * 2147483647 * 0 */public class Solution29 {    public static void main(String[] args) {        Solution29 solution29 = new Solution29();        String s1 = "+2147483647";        String s2 = "1a33";        System.out.println(solution29.StrToInt(s2));    }    /**     * 判断字符串为空,长度为0,判断字符串转换后上下界是否溢出     *     * @param str     * @return     */    public int StrToInt_2(String str) {        //判断字符串是否为空,长度是否为0        if (str == null || str.length() == 0) {            return 0;        }        int start;        int tag;//1表示+ 0表示-        if (str.charAt(0) == '+') {            start = 1;            tag = 1;        } else if (str.charAt(0) == '-') {            start = 1;            tag = 0;        } else {            start = 0;            tag = 1;        }        long result = 0;        for (int i = start; i < str.length(); i++) {            char temp = str.charAt(i);            if (temp >= '0' && temp <= '9') {                result = result * 10 + (temp - '0');                if (tag == 1 && result > Integer.MAX_VALUE) throw new RuntimeException("上溢出");                if (tag == 0 && result < Integer.MIN_VALUE) throw new RuntimeException("下溢出");            } else {                return 0;            }        }        if (tag == 0) {            return (int) (-1 * result);        } else {            return (int) result;        }    }    public int StrToInt(String str) {        int res = 0;        try {            res = Integer.valueOf(str);        } catch (NumberFormatException e) {            res = 0;        }        return res;    }}

转载于:https://www.cnblogs.com/wupeixuan/p/8623323.html

你可能感兴趣的文章
sql collection内容_盘点MyBatis中的所有动态SQL
查看>>
php7.0能安装飞飞cms吗,PHP7在开发机上的安装使用之旅
查看>>
php语言写入数据类型,php 语言参考-数据类型
查看>>
php分页类smary,PHP学习:Smarty的分页实现
查看>>
java实现文本查找ctrl f功能,JSP页面 CTRL+F 功能实现
查看>>
php判断来源标题,php-根据关系获取标题(laravel)
查看>>
php方法的参数是数组吗,参数用一个数组还是分开几个
查看>>
matlab石辛民期末试卷,基于MATLAB的模糊控制洗衣机的设与仿真.doc
查看>>
php 怎么将一转化为1,php怎么将数组转化成字符串
查看>>
已知 方程 用 matlab 求表达式,已知自变量,因变量和函数表达式,可以用matlab求出函数表达式中的未知参数吗...
查看>>
m1mac可以安装linux吗,M1 Mac 能安装 Ubuntu 和 Linux 了 ??
查看>>
[bzoj3060][Poi2012]Tour de Byteotia_并查集
查看>>
[bzoj3060][Poi2012]Tour de Byteotia_并查集
查看>>
[Arc102B]All Your Paths are Different Lengths_构造_二进制拆分
查看>>
oplan生成PSU步骤失败
查看>>
Glusterfs映射成block设备
查看>>
安装PSU,有可能会导致实例无法启动
查看>>
测试接口遇到问题
查看>>
本地上传文件到服务器
查看>>
jmeter测试dubbo接口遇到 Failed to check the status of the service
查看>>