前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >把字符串转换成整数(java) 剑指offer

把字符串转换成整数(java) 剑指offer

作者头像
用户7886150
修改2020-12-11 14:25:21
4550
修改2020-12-11 14:25:21
举报
文章被收录于专栏:bit哲学院

参考链接: Java中整数到字符串转换的不同方法

将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0. 

package Tree;

public class strToInt {

    //边界条件判断条件

    //数据上下 溢出 空字符串 只有正负号,错误标志输出;

    public int StringToInt(String str){

        //if(str.equals("")||str.length()==0)

        if(str==null||str.length()==0){

            return 0;

        }

        int fuhao=0;

        //

        char chars[] = str.toCharArray();

        if(chars[0]=='-') fuhao=1;

        int sum=0;

        for(int i=fuhao;i<chars.length;i++){

            if(chars[i]=='+'){

                continue;

            }

            // 0-9对应 48-57 A-Z对应 65-90 a-z对应 97-122

            // 第33~126号(共94个)是字符;

            if(chars[i]<48||chars[i]>57){

                return 0;

            }

            sum = sum*10+chars[i]-48;

        }

        return fuhao ==0?sum:sum*(-1);

    }

    public int StrToInt(String str) {

        if(str.equals("")||str.length()==0) return 0;

        int sign = 0;

        char[] chars = str.toCharArray();

        if(chars[0]=='-') sign =1;

        int sum = 0;

        //i=sign(if sign=1,skip the '-' signal;

        for(int i=sign;i<chars.length;i++){

            if(chars[i]=='+'){

                continue;

            }

            // 0-9 --> 48-57(ASCII码)

            if(chars[i]<48||chars[i]>57) return 0;

            sum = sum*10+chars[i]-48;

        }

        if(sign!=0) sum = sum*(-1);

        return sum;

    }

    public static void main(String[] args) {

        String str = "-123";

        System.out.println(new strToInt().StringToInt(str));

        strToInt t = new strToInt();

        System.out.println(t.StrToInt(str));

    }

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档