把字符串转换成整数

把字符串转换成整数

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0

解题思路

字符 ‘0’ 的 ASCII 值是 48,‘1’ 到 ‘9’ 则是从 48 起始依次递增,因此解题的关键在于:

  • 判断有没有 ‘+’、’-‘ 等符号位,如果没有符号位默认为正整数
  • 依次取字符串中的每一个字符,判断是否在 ‘1’ 到 ‘9’ 的范围之内
public class Solution {
    public int StrToInt(String str) {
        if(str == null || str.length() == 0) {
            return 0;
        } else if(str.length() == 1 && (str.charAt(0) == '+' || str.charAt(0) == '-')) {
            return 0;
        }
        int result = 0;
        boolean flag = true;
        int j = 1;
        if(str.charAt(0) == '+') {
            str = str.substring(1, str.length());
        }
        if(str.charAt(0) == '-') {
            flag = false;
            str = str.substring(1, str.length());
        }
        for(int i = str.length() - 1; i >= 0; i--) {
            int temp = str.charAt(i) - 48;
            if(temp < 0 || temp > 9) {
                return 0;
            }
            result += temp * j;
            j *= 10;
        }
        if(flag == false) {
            return -result;
        }
        return result;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2603.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 照片生成STL浮雕文件视频演示,图片转灰度图,灰度图转STL浮雕图

    照片生成STL浮雕文件视频演示,图片转灰度图,灰度图转STL浮雕图图片转成STL浮雕图视频教程,照片转成灰度图转STL文件操作演示把彩色照片转成STL浮雕图视频教程,照片转成灰度图操作演示,把手机拍的照片转成浮雕图效果示例,照片转成灰度图效果示例,彩色照片转成浮雕图视频讲解演示。知识就是财富,照片生成浮雕图不用求人转图了,自己想动手转图的乐趣。更多搜索词:一个灰度图图片怎么转化为stl文件?彩色的图片如何转成STL浮雕图?日常照片转化成STL浮雕图,机雕,木雕等的STL文件?关于图片格式转换的图片转灰度图,灰度图转浮雕图本文视频

  • TP5 where数组查询(模糊查询)(有多个查询条件) when「建议收藏」

    TP5 where数组查询(模糊查询)(有多个查询条件) when「建议收藏」有查询条件就查询,多个查询条件,只要有查询,就增加一个查询条件一、TP5.1版本模糊查询$where[]=[‘title’,’like’,”%”.$sotitle.”%”];$map[]=[‘name’,’like’,’think’];$map[]=[‘status’,’=’,1];//时间查询$wheret2[]=[‘time’,’between’,[…

  • 我的中国问题

    我的中国问题

  • 详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE

    详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUEmysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的详细介绍Normal普通索引Unique唯一索引FullText全文索引SPATIAL空间索引btree索引和hash索引的区别在实际操作过程中,应该选取表中哪些字段作为索引?Normal普通索引表示普通索引,大多数情况下都可以使用Unique唯一索引表示唯一的,不允许重复的索引,如果该字段信息…

  • android 中string.xml中的%1$s

    android 中string.xml中的%1$s

  • Linux nmap命令详解

    Linux nmap命令详解nmap,也就是NetworkMapper,是Linux下的网络扫描和嗅探工具包。nmap是在网络安全渗透测试中经常会用到的强大的扫描器。功能之强大,不言而喻。下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。nmap安装yuminstallnmapnmap场景命令参数Usage:nmap[ScanType(s)][Opti…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号